F
firstshine
Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi5下通过mts中的ado访问oracle8.0.5(已经安装patchset)。我希望为选定的表建立触发器。于是我写了一些代码形成了这么的一个字符串:
sSql:='create trigger yxgl.trigger_BBDXK_zlbf after delete or update on
yxgl.BBDXK for each row'#13#10'begin
insert into BBDXK30 (BBBM,'#13#10'BDS,
'#13#10'CZYBM,'#13#10'DQFS,'#13#10'DWBM,'#13#10'DXLX,'#13#10'DXMC,'#13#10'GD,
'#13#10'KD,'#13#10'QY,'#13#10'SJLX,'#13#10'XGSJ,'#13#10'XSGS,'#13#10'ZBX,
'#13#10'ZBY,'#13#10'ZTCC,'#13#10'ZTMC,zlbf_jlbgsj) values('#13#10'ld.BBBM,
'#13#10'ld.BDS,'#13#10'ld.CZYBM,'#13#10'ld.DQFS,'#13#10'ld.DWBM,
'#13#10'ld.DXLX,'#13#10'ld.DXMC,'#13#10'ld.GD,'#13#10'ld.KD,
'#13#10'ld.QY,'#13#10'ld.SJLX,'#13#10'ld.XGSJ,'#13#10'ld.XSGS,
'#13#10'ld.ZBX,'#13#10'ld.ZBY,'#13#10'ld.ZTCC,'#13#10'ld.ZTMC,
sysdate);
end;
'
然后我把这个sql语句送到mts中执行,居然形成了这么一个触发器:
begin
insert into BBDXK30 (BBBM,
BDS,
CZYBM,
DQFS,
DWBM,
DXLX,
DXMC,
GD,
KD,
QY,
SJLX,
XGSJ,
XSGS,
ZBX,
ZBY,
ZTCC,
ZTMC,zlbf_jlbgsj) values(
:V0001,
:V0002,
:V0003,
:V0004,
:V0005,
:V0006,
:V0007,
:V0008,
:V0009,
:V0010,
:V0011,
:V0012,
:V0013,
:V0014,
:V0015,
:V0016,
:V0017,sysdate);
end;
我不知道为什么把所有的变脸全都变成了:V0001之类的东西。
这个sql语句本身是没有问题的,因为我将前面的sql语句的#13#10用回车代替后拷
贝到sqlplus中执行,可以生成正确的触发器
sSql:='create trigger yxgl.trigger_BBDXK_zlbf after delete or update on
yxgl.BBDXK for each row'#13#10'begin
insert into BBDXK30 (BBBM,'#13#10'BDS,
'#13#10'CZYBM,'#13#10'DQFS,'#13#10'DWBM,'#13#10'DXLX,'#13#10'DXMC,'#13#10'GD,
'#13#10'KD,'#13#10'QY,'#13#10'SJLX,'#13#10'XGSJ,'#13#10'XSGS,'#13#10'ZBX,
'#13#10'ZBY,'#13#10'ZTCC,'#13#10'ZTMC,zlbf_jlbgsj) values('#13#10'ld.BBBM,
'#13#10'ld.BDS,'#13#10'ld.CZYBM,'#13#10'ld.DQFS,'#13#10'ld.DWBM,
'#13#10'ld.DXLX,'#13#10'ld.DXMC,'#13#10'ld.GD,'#13#10'ld.KD,
'#13#10'ld.QY,'#13#10'ld.SJLX,'#13#10'ld.XGSJ,'#13#10'ld.XSGS,
'#13#10'ld.ZBX,'#13#10'ld.ZBY,'#13#10'ld.ZTCC,'#13#10'ld.ZTMC,
sysdate);
end;
'
然后我把这个sql语句送到mts中执行,居然形成了这么一个触发器:
begin
insert into BBDXK30 (BBBM,
BDS,
CZYBM,
DQFS,
DWBM,
DXLX,
DXMC,
GD,
KD,
QY,
SJLX,
XGSJ,
XSGS,
ZBX,
ZBY,
ZTCC,
ZTMC,zlbf_jlbgsj) values(
:V0001,
:V0002,
:V0003,
:V0004,
:V0005,
:V0006,
:V0007,
:V0008,
:V0009,
:V0010,
:V0011,
:V0012,
:V0013,
:V0014,
:V0015,
:V0016,
:V0017,sysdate);
end;
我不知道为什么把所有的变脸全都变成了:V0001之类的东西。
这个sql语句本身是没有问题的,因为我将前面的sql语句的#13#10用回车代替后拷
贝到sqlplus中执行,可以生成正确的触发器