正如标题所说,每次我试图创建int或decimal字段pic子句时,我发现了这个语法错误。我检查了DB2中的表,只有2个字段是Char字段。其他字段都是数字。奇怪的是,我可以用PIC子句的适当长度定义字符串版本,并且它接受它。我只是想知道为什么不能使用Int/当我的数据库清楚地存储它们时,它们是Dec值。提前感谢。
下面是我的DB2表结构的一个图像。Table structure
这表明我检索的值显然是int/decimal等。在我的应用程序中,它不知何故认为不是这样。ProdPrice应该工作,但它没有。它的列匹配我的表,但只有当我使它成为PIC X(10)时才会没有错误。有什么解决办法吗?
01 PRODID PIC X(10) .
01 SUPPID PIC X(10) .
01 PRODNAME.
49 NAME-LENG PIC S9(4) COMP-4.
49 NAME-VAL PIC X(30).
01 PRODPRICE PIC S9(8)V9(2).
01 PRODDESC.
49 DESC-LENG PIC S9(4) COMP-4.
49 DESC-VAL PIC X(200).
这是我的SQL。
EXEC SQL
SELECT PROD_NAME, PROD_DESCRIPTION, PROD_PRICE,
SUPP_ID
INTO :PRODNAME, :PRODDESC, :PRODPRICE, :SUPPID
FROM PRODUCT
WHERE PROD_ID = :PRODID
END-EXEC.
1条答案
按热度按时间xzv2uavs1#
这是对我有效的解决方案。
我只是将COMP-4更改为COMP-3。如果仍然存在问题,请确保在数值字段PIC子句中定义了“S”。