0

这是我生成批处理文件的 SQL 代码

SELECT    'CANCEL_TRANS trans WITH serial = "'
   || serial
   || '" , short_name = "'
   || short_name
   || '";'
FROM trans
WHERE ( (trans.status = 0))
   AND TO_TIMESTAMP (time_created, 'YYYY/MM/DD-HH24:MI:SS.FF') <
          SYSDATE - 1 / 24
   AND platform_name LIKE '%test%';

输出

(总是不同的行数)

CANCEL_TRANS trans WITH serial = "507760" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507761" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507781" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507782" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507785" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507786" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507880" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507883" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507884" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507886" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507976" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507964" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507967" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507971" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "507762" , short_name = "BD";
CANCEL_TRANS trans WITH serial = "508096" , short_name = "BD";

我希望在最后一行打印这个字符串/文字。希望用 SQL(不是 shell 脚本)来做到这一点:

execute;
4

2 回答 2

2

使用UNION ALL

SELECT ...
UNION ALL
SELECT 'execute;' from dual
于 2012-11-09T13:01:48.703 回答
0

您使用以下代码:

SELECT top 1 'CANCEL_TRANS trans WITH serial = "' || serial 
              || '" , short_name = "' || short_name || '";' 
  FROM trans 
 WHERE trans.status = 0
   AND TO_TIMESTAMP(time_created, 'YYYY/MM/DD-HH24:MI:SS.FF') < SYSDATE - 1 / 24 
   AND platform_name LIKE '%test%' order by serial desc;
于 2012-11-09T13:11:41.607 回答