Snowflake SQL compilation error: error line 1 at position 55 N"'TEST'"
Snowflake SQL compilation error: error line 1 at position 55 N"'TEST'"
刚开始使用 SnowFlake 并在制作基本的雪花插入生成器过程时遇到问题,如果调用时插入参数是使用“''”处理的,则会出错。在下面的例子中。
SQL compilation error: error line 1 at position 55 N"'TEST'"
程序:
CREATE OR REPLACE PROCEDURE "INSERTTABLECOLUMNS"("TABLENAME" VARCHAR(250), "INSERTCOLUMNS" VARCHAR(250), "INSERTVALUES" VARCHAR(250))
RETURNS VARCHAR()
LANGUAGE JAVASCRIPT
AS
$$
var command = "INSERT INTO "+TABLENAME+" ("+INSERTCOLUMNS+") VALUES ("+INSERTVALUES+")";
var cmd1_dict = {sqlText: command};
var stmt = snowflake.createStatement(cmd1_dict);
var rs = stmt.execute();
return "Works";
$$;
召唤
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME',"'TEST'")
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME,COLUMN2',"'TEST',2")
例如,当您的 table/column 名称中有异常字符时,双引号主要用于表示对象名称。
我想你想要的是转义你的 '
字符。您可以使用双撇号:''
或反斜杠:\'
.
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME','''TEST''')
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME,COLUMN2','''TEST'',2')
或
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME','\'TEST\'')
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME,COLUMN2','\'TEST\',2')
刚开始使用 SnowFlake 并在制作基本的雪花插入生成器过程时遇到问题,如果调用时插入参数是使用“''”处理的,则会出错。在下面的例子中。
SQL compilation error: error line 1 at position 55 N"'TEST'"
程序:
CREATE OR REPLACE PROCEDURE "INSERTTABLECOLUMNS"("TABLENAME" VARCHAR(250), "INSERTCOLUMNS" VARCHAR(250), "INSERTVALUES" VARCHAR(250))
RETURNS VARCHAR()
LANGUAGE JAVASCRIPT
AS
$$
var command = "INSERT INTO "+TABLENAME+" ("+INSERTCOLUMNS+") VALUES ("+INSERTVALUES+")";
var cmd1_dict = {sqlText: command};
var stmt = snowflake.createStatement(cmd1_dict);
var rs = stmt.execute();
return "Works";
$$;
召唤
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME',"'TEST'")
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME,COLUMN2',"'TEST',2")
例如,当您的 table/column 名称中有异常字符时,双引号主要用于表示对象名称。
我想你想要的是转义你的 '
字符。您可以使用双撇号:''
或反斜杠:\'
.
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME','''TEST''')
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME,COLUMN2','''TEST'',2')
或
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME','\'TEST\'')
call DEMO.PUBLIC.INSERTTABLECOLUMNS('TESTBEGIN','NAME,COLUMN2','\'TEST\',2')