运行此程序时,
CREATE PROCEDURE SP_DISABLE_TRIGGER(
in p_database varchar(50), in p_trigger_name varchar(50))
BEGIN
DECLARE L_SQL VARCHAR(1000);
set l_sql='alter trigger ' ||p_database|| '.' ||p_trigger_name|| ' DISABLED';
EXECUTE IMMEDIATE L_SQL;
commit; END;
我收到此错误:
SPL1027:E(L30),缺少/无效的SQL语句' E(5510):程序执行的会话模式无效。'。
[已执行:2016年1月3日下午3:50:30] [执行:0ms]
有谁能告诉我如何在程序中设置会话模式?
答案 0 :(得分:0)
5510程序执行的会话模式无效。
说明: 提交CALL SQL的会话模式不同于 创建存储过程的那个。存储过程 在ANSI模式下创建的无法在Teradata模式下执行 反之亦然。
您无法在过程中设置会话模式,这是在登录时设置的,无法在会话中修改。
如果您确实需要在Teradata和Teradata中运行此SP在ANSI模式下,您必须创建两个版本,每个版本在一个会话模式中。
答案 1 :(得分:0)
当我使用Teradata Studio客户端创建存储过程并第一次使用DBeaver sql客户端调用存储过程时,我开始遇到此问题。我通过创建/替换存储的proc,然后从同一sql客户端DBeaver第一次调用它来解决了该错误。