在 SQL Server 存储过程中,我可以这样写:
begin
declare
@sSQL varchar(max),
@cod1 varchar(10)
set @sSQL='update myTable set col_name=''ERR'' where col_id=''' + @cod1 + '''';
exec (@sSQL);
end;
如何使用 Sybase 存储过程执行相同操作?我需要执行带有变量的 SQL 命令。
当我尝试在 SYBASE 中编写相同的代码时,出现语法错误
exec (@sSQL);
你可以尝试这样的事情。
SET @sSQL = 'UPDATE myTable SET col_name = ''ERR'' WHERE col_id = ''' + @cod1 + ''''
EXECUTE IMMEDIATE @sSQL
由于 sybase 中不存在用于此目的的
exec()
,因此您可以使用 EXECUTE IMMEDIATE
作为快速解决方案。