与sybase中的Sql Server的sp_executesql相同的是什么。
答案 0 :(得分:2)
我认为exec()
正是您所寻找的。请参阅http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.commands/html/commands/commands56.htm。
答案 1 :(得分:1)
@jasir:过程定义导致255个字符的限制。不能通过定义例如来扩展此限制。 VARCHAR(1024)?
ASE Refrence手册15.7(http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1572/html/commands/X30305.htm) 命令执行的状态:
string是包含Transact-SQL命令的一部分的文字字符串 执行。 对字符数没有限制 提供文字字符串。
然而,有时在sybase之上的系统(例如Kondor +,金融市场的产品使用ASE 15.x作为DB)可能会设置限制。在这个Kondor +中无法使用
exec( @SQLQuery)
在所谓的OpenReport(存储过程)中,如果变量@SQLQuery超过256个字符。
答案 2 :(得分:0)
对于较旧的ASE,您可以使用此解决方法:
存储过程sp_remotesql。 您也可以使用它在本地服务器上运行查询,只需要本地服务器到服务器:
sp_addserver local, NULL, <servername>
其中<servername>
是本地服务器的名称(来自sql.ini)。
您可以添加运行sql的快捷程序:
create procedure sp_exec_dynsql @p_cmd varchar(255)
as
begin
exec sp_remotesql "local", @p_cmd
end
不幸的是,你的sql中限制为255个字符。