无法使用多行 SQL 代码调用过程.. 语法是什么? [英] Can't call a procedure with multiline SQL code .. what is the syntax?

查看:21
本文介绍了无法使用多行 SQL 代码调用过程.. 语法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果不将 \ 放在每一行之后,我就无法让多行 SQL 语句在过程/javascript 中工作.

I can't get a multiline SQL statement to work within a procedure/javascript without putting \ after each line.

这有效:

CREATE or replace PROCEDURE PR_DELETEME()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var rs = snowflake.execute( { sqlText: 
  'create or replace table deleteme as select sysdate() as my_date;'
   } );
return 'Done.';
$$;

这失败了:

CREATE or replace PROCEDURE PR_DELETEME()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var rs = snowflake.execute( { sqlText: 
  'create or replace table deleteme as
   select sysdate() as my_date;'
   } );
return 'Done.';
$$;

调用 PR_DELETEME();给...

call PR_DELETEME(); gives...

 JavaScript compilation error: Uncaught SyntaxError: Invalid or unexpected token in PR_DELETEME at ' 'create or replace table deleteme as' position 6

我真的不想把\放在每一行的末尾.

I really don't want to have to put \ at the end of each line.

推荐答案

使用反引号"不是单引号或双引号.下面现在工作:

Use "backticks" not single quotes or double quotes. Below now works:

CREATE or replace PROCEDURE PR_DELETEME()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var rs = snowflake.execute( { sqlText: 
  `create or replace table deleteme as
   select sysdate() as sysd;`
   } );
return 'Done.';
$$;

这篇关于无法使用多行 SQL 代码调用过程.. 语法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆