【发布时间】:2018-03-29 10:46:52
【问题描述】:
我有一个存储过程,我已经开始编码,需要返回一个值。在 SQL Server 中,我可以对变量进行 SELECT 以返回它。但是,这似乎不适用于 Teradata,并且没有找到类似的示例来说明如何执行此操作。这是我的存储过程:
REPLACE PROCEDURE sp_Get_MyValue()
BEGIN
DECLARE mytestvar VARCHAR(40);
SELECT mycolumn INTO mytestvar FROM MyTable;
SELECT mytestvar;
END;
我收到此错误:
声明 2:替换失败。失败 [5526 : HY000] 存储过程 由于错误而未创建/替换。{嵌套失败消息 [5526: HY000] SPL1045:E(L10),INTO 子句无效或缺失。}
我也尝试在过程中添加一个 OUT 变量,但这也不起作用:
REPLACE PROCEDURE sp_Get_MyValue(mytestvarout VARCHAR(40))
BEGIN
DECLARE mytestvar VARCHAR(40);
SELECT mycolumn INTO mytestvar FROM MyTable;
END;
出现此错误:
作为单个语句执行。失败 [5531 : HY000] 命名列表不是 支持过程的参数。经过时间 = 00:00:00.079
【问题讨论】:
标签: teradata