我正在尝试从Tm1多维数据集向数据库插入一个数值(mesure)。tm1中的变量“ Value”类型是数字,而Database中的“ Value”类型是十进制。
我试图检查变量是否包含字符串值,所以将它们放在一个分隔的文件中。如果它们是数字,则将它们插入数据库。
但是似乎我的sql查询中出现错误,指出:
Syntax Error on or before Value
我不知道为什么即使我检查了它并验证它是否是数字,它也给我一个错误。
这是我的代码的片段:
zType = DTYPE( 'Sales', Sales );
IF(zType @= 'N');
SQL_INSERT_N2 = 'INSERT INTO DB VALUES ( '''| dim1|''' , '''| dim2|''', '''|Value|''') ' ; #error in this line
ELSE;
zValue =NumberToString( Value ) ;
zText = dim1 | ';' | dim2 | ';' | Value | ;
ASCIIOUTPUT( zFile, zText );
ENDIF;
问题是我通过添加'''|Value|'''
将数字值声明为字符串值。
所以应该是这样的:
SQL= 'INSERT INTO DB VALUES ( '''| dim1|''' , '''| dim2|''', '|NumberToString(Value)|') ' ;