sql - 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
解决方案
EXECUTE IMMEDIATE WITH RESULT SET ON @command
这可能会奏效。
推荐阅读
- javascript - 两个输入并排 CSS
- sql - 选择“Foo”,“Bar”不返回任何内容
- sql - SQL Window函数,以每个事件日期为索引,统计180天窗口内的事件数
- youtube - Puppeteer:无法播放视频
- python - 括号匹配 - 使用输入括号索引查找右括号 - ValueError
- javascript - 对于 Google Analytics(分析)自定义触发事件,我们使用哪种报告?
- nginx - Nginx 速率限制 GET 或 POST 请求仅在某个位置
- r - R中是否有可以将“时间”因子(00:00:00)转换为秒的函数
- uwp - Ink 未使用 Inkcanvas UWP 在路径上绘制
- java - 为什么在使用 @SuppressWarnings("unchecked") 时仍然会收到警告?