spool a1.sql
select '
variable al_dmsb number;
exec :al_dmsb := '||b.a||';
SELECT emr_dmzd.*
FROM emr_dmzd
WHERE (dmlb = 101)
AND ( sjdm IN (
SELECT dmsb
FROM emr_dmzd
WHERE dmlb = 101
AND ( sjdm IN (SELECT dmsb
FROM emr_dmzd
WHERE dmlb = 101 AND (dmsb = :al_dmsb OR sjdm = :al_dmsb))
OR dmsb IN (SELECT dmsb
FROM emr_dmzd
WHERE dmlb = 101 AND (dmsb = :al_dmsb OR sjdm = :al_dmsb))
))
OR dmsb IN (
SELECT dmsb
FROM emr_dmzd
WHERE dmlb = 101
AND ( sjdm IN (SELECT dmsb
FROM emr_dmzd
WHERE dmlb = 101 AND (dmsb = :al_dmsb OR sjdm = :al_dmsb))
OR dmsb IN (SELECT dmsb
FROM emr_dmzd
WHERE dmlb = 101 AND (dmsb = :al_dmsb OR sjdm = :al_dmsb))
))
);
' x from
(
select sjdm a FROM emr_dmzd where dmlb = 101
union
select dmsb a FROM emr_dmzd where dmlb = 101
) b where a is not null;
spool off
spool a2.sql
select '
variable al_dmsb number;
exec :al_dmsb := '||b.a||';
SELECT emr_dmzd.* FROM emr_dmzd WHERE (dmlb = 101) AND (dmsb = :al_dmsb OR sjdm = :al_dmsb);
' x from
(
select sjdm a FROM emr_dmzd where dmlb = 101
union
select dmsb a FROM emr_dmzd where dmlb = 101
) b where a is not null;
spool off
--把输出记录到文本文件,适当编辑.然后
spool a1.txt
@a1.sql
spool off
spool a2.txt
@a2.sql
spool off
diff a1.txt a2.txt
1c1
< SQL> @a1.sql
---
> SQL> @a2.sql
--完全一样!