首页 > 解决方案 > BATCH STATEMENT 中不允许的结果集 - SQL Anywhere

问题描述

我是 SQL ANYWHERE 的新手。我将表名称作为输入参数传递。我想同时运行 delete 和 select 语句。我不知道我在哪里错过了我的逻辑。你能帮我做这件事吗?

我的程序是

ALTER PROCEDURE "dba"."spCallTrigger"(
  /* @parameter_name parameter_type [= default_value] [OUTPUT], ... */
                                       @TableName varchar(25) )
AS
BEGIN
    /* Type the procedure statements here */

//Exec "dba"."spCallTrigger" 'GTempTable'

SET OPTION ISQL_PRINT_RESULT_SET='ALL';

DECLARE @sql LONG VARCHAR
SET @sql = 'delete from dba.' + @TableName + ' where 1=2'
Execute ( @sql )

DECLARE @command LONG VARCHAR
SET @command = 'select * from dba.' + @TableName + 'Audit'
Execute ( @command )

END

标签: sqlsap-ase

解决方案


EXECUTE IMMEDIATE WITH RESULT SET ON  @command

这可能会奏效。


推荐阅读