sql - 雪花函数中的 DDL 语句
问题描述
我正在尝试在雪花中创建一个函数,其中包含 DDL 语句。下面是函数。
CREATE OR REPLACE function test_10252021(P1 VARCHAR(100)) returns
varchar not null language javascript as $$ try { `create or replace
temporary table temp_EMP
as
select * from demo_db.public.EMP
where
DEPT_NO='${P1}' `; return "Successful"; } catch(err) { return err.message; } $$ ;
正在创建函数,但是当我在 select 语句下面执行时,没有创建临时表。
谁能帮助我如何在函数而不是过程中执行 ddl 语句。
select test_10252021('20');
select * from temp_EMP;
解决方案
您不能在 Snowflake JavaScript UDF 中运行 SQL,句号。没有解决方法或混乱;只是没有办法做到这一点。
如果要使用 JavaScript 运行 DDL,则需要使用存储过程。
CREATE OR REPLACE procedure test_10252021(P1 VARCHAR(100)) returns
varchar not null language javascript as
$$
try {
snowflake.execute({sqlText:`create or replace
temporary table temp_EMP
as
select * from demo_db.public.EMP
where
DEPT_NO='${P1}' `});
return "Successful";
}
catch(err) { return err.message; }
$$ ;
call test_10252021('20');
select * from temp_emp;
推荐阅读
- hpc - 如何知道 perf 中的事件类型
- python - 无法调用 cv2.HoughLines(),如何使用 python 代码实现 cv2.HoughLines() self
- angular - AgGrid 选择单元格编辑器
- javascript - JavaScript 根本没有在 HTML 文件中运行
- bluetooth - 蓝牙 GATT 向 BLE 设备发送数据
- kernel - 内核 5.12 不能使用 find_module
- html - 嵌入带有本地备份的 youtube 视频,以防 YT 不可用(例如删除)
- mysql - nodejs连接mysql报错ER_NOT_SUPPORTED_AUTH_MODE?
- json - 从 Mongodb 提取到 python 的嵌套 Json 字段
- django - IllegalArgumentException:Shell 不是 LinearRing