【发布时间】:2020-09-25 14:48:18
【问题描述】:
在 teradata 16 创建存储过程时出现 sql 错误,请问这个查询有什么问题?
替换过程 tutorial_db.banks(out test Varchar(20)) 开始 从 tutorial_db.banks 中选择名称 结尾;
【问题讨论】:
标签: stored-procedures teradata
在 teradata 16 创建存储过程时出现 sql 错误,请问这个查询有什么问题?
替换过程 tutorial_db.banks(out test Varchar(20)) 开始 从 tutorial_db.banks 中选择名称 结尾;
【问题讨论】:
标签: stored-procedures teradata
Teradata 的 SP 基于标准 SQL,要返回结果集,您必须定义一个游标
REPLACE PROCEDURE tutorial_db.banks(OUT test VARCHAR(20))
DYNAMIC RESULT SETS 1 -- add 1 for each result set to be returned
BEGIN
-- dummy cursor declaration
DECLARE cur2 CURSOR WITH RETURN ONLY FOR
SELECT NAME FROM tutorial_db.banks;
-- don't close within the SP
OPEN cur2;
END;
游标通常很糟糕,但是这个 WITH RETURN ONLY 游标不会在 SP 中逐行处理,它只是一个答案集。
【讨论】:
call tutorial_db.banks(test)