一个逻辑复杂的SQL
秋雨飘落 2011-07-29 04:22:38 现在需要一个存储过程,表名作为一个参数输入,每个SSFJ字段有6月,7月的记录,判断每个单位,6月 和 7月的数据是否一致,每个字段都要判断,因为是表名是参数,所以判断的列也要从系统表里获取,
除了SSFJ,SBSJ不用判断以外,其它都要判断
结果存放到一个表里,全部一样,true,如果不一样,反馈字段名字,
下面是一个例子
create table ZFTANG_TEST_01
(
SSFJ VARCHAR2(50),--所属单位
SBSJ VARCHAR2(50),--时间
SL1 NUMBER,
SL2 NUMBER,
SL3 NUMBER
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
prompt Disabling triggers for ZFTANG_TEST_01...
alter table ZFTANG_TEST_01 disable all triggers;
prompt Deleting ZFTANG_TEST_01...
delete from ZFTANG_TEST_01;
commit;
prompt Loading ZFTANG_TEST_01...
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('1', '201107', 1, 1, 1);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('2', '201107', 1, 1, 1);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('3', '201107', 2, 2, 2);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('4', '201107', 3, 3, 3);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('5', '201107', 4, 4, 4);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('1', '201106', 1, 2, 1);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('2', '201106', 1, 1, 1);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('3', '201106', 2, 2, 2);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('4', '201106', 3, 3, 3);
insert into ZFTANG_TEST_01 (SSFJ, SBSJ, SL1, SL2, SL3)
values ('5', '201106', 4, 4, 5);
commit;