我只是想在web UI中测试一些简单的雪花,并且看到了意想不到的行为。
调用"execute immediate"没有任何变量的工作:
execute immediate 'select 'hi' as textvalue, 5 as numbervalue' ;
然而,这个调用"execute immediate"语法错误:unexpected '5'.">
execute immediate 'select 'hi' as textvalue, ? as numbervalue' using (5) ;
我做错了什么,阻止了这个简单的执行失败?
正如我所看到的,它接受一个变量,而不是一个文字:
declare
myparam number := 5;
begin
execute immediate 'select 'hi' as textvalue, ? as numbervalue' using (myparam) ;
end;
https://docs.snowflake.com/en/sql-reference/sql/execute-immediate.html语法EXECUTE IMMEDIATE '<string_literal>'
[ USING (bind_variable_1 [, bind_variable_2 ...] ) ] ;
bind_variable:绑定变量保存在游标的查询定义中使用的值