存储过程我要 把表1的内容 随机ID 查出 插入表2中 代码如下 可查出表1来了 插入不到表2里面去 用的控件是storedProc
参数是 jihuaid
begin
select count(VCORPTRAINCOURSEREC_ID)from VCORPTRAINCOURSEREC
where VCORPTRAINCOURSEREC_ID=:jihuaid into :VCORPTRAINCOURSEREC_ID;
if(VCORPTRAINCOURSEREC_ID>0)then
begin
num=gen_id(VCORPTRAINCOURSEREC_2_gen,1);
insert into VCORPTRAINCOURSEREC_2(VCORPTRAINCOURSEREC_ID,DEPARTMENTNOID,TRAINCLASS_NO,YEAR_NO,MONTH_NO,COURSE,OBJECTIVE,AUDIENCE,TRAIN_DATE,
DURATION,PLACE,METHODS,TRAINER,FOLACTION,PERSON_TOTAL,OVERDATE,COURCE_NO,KESHI,
BEIZHU,ZHUTI)
values(:num,:DEPARTMENTNOID,:TRAINCLASS_NO,:YEAR_NO,:MONTH_NO,:COURSE,:OBJECTIVE,:AUDIENCE,:TRAIN_DATE,
:DURATION,:PLACE,:METHODS,:TRAINER,:FOLACTION,:PERSON_TOTAL,:OVERDATE,:COURCE_NO,:KESHI,
:BEIZHU,:ZHUTI); select DEPARTMENTNOID,TRAINCLASS_NO,YEAR_NO,MONTH_NO,COURSE,OBJECTIVE,AUDIENCE,TRAIN_DATE,
DURATION,PLACE,METHODS,TRAINER,FOLACTION,PERSON_TOTAL,OVERDATE,COURCE_NO,KESHI,
BEIZHU,ZHUTI from VCORPTRAINCOURSEREC where VCORPTRAINCOURSEREC_ID=:jihuaid
into :DEPARTMENTNOID,:TRAINCLASS_NO,:YEAR_NO,:MONTH_NO,:COURSE,:OBJECTIVE,:AUDIENCE,:TRAIN_DATE,
:DURATION,:PLACE,:METHODS,:TRAINER,:FOLACTION,:PERSON_TOTAL,:OVERDATE,:COURCE_NO,:KESHI,
:BEIZHU,:ZHUTI;
end
end
写的那有错误啊??
执行过程代码是
if(jihuaid>0)then
begin
with DatamodPersonClass.JIHUA_DAORU do
begin
close;
params[0].AsInteger:=jihuaid;
ExecProc;
prepare;
DatamodPersonClass.open_Q_TRAINDANGAN;
showmessage('实施导入完毕');
end
end
else showmessage('未导入');
参数是 jihuaid
begin
select count(VCORPTRAINCOURSEREC_ID)from VCORPTRAINCOURSEREC
where VCORPTRAINCOURSEREC_ID=:jihuaid into :VCORPTRAINCOURSEREC_ID;
if(VCORPTRAINCOURSEREC_ID>0)then
begin
num=gen_id(VCORPTRAINCOURSEREC_2_gen,1);
insert into VCORPTRAINCOURSEREC_2(VCORPTRAINCOURSEREC_ID,DEPARTMENTNOID,TRAINCLASS_NO,YEAR_NO,MONTH_NO,COURSE,OBJECTIVE,AUDIENCE,TRAIN_DATE,
DURATION,PLACE,METHODS,TRAINER,FOLACTION,PERSON_TOTAL,OVERDATE,COURCE_NO,KESHI,
BEIZHU,ZHUTI)
values(:num,:DEPARTMENTNOID,:TRAINCLASS_NO,:YEAR_NO,:MONTH_NO,:COURSE,:OBJECTIVE,:AUDIENCE,:TRAIN_DATE,
:DURATION,:PLACE,:METHODS,:TRAINER,:FOLACTION,:PERSON_TOTAL,:OVERDATE,:COURCE_NO,:KESHI,
:BEIZHU,:ZHUTI); select DEPARTMENTNOID,TRAINCLASS_NO,YEAR_NO,MONTH_NO,COURSE,OBJECTIVE,AUDIENCE,TRAIN_DATE,
DURATION,PLACE,METHODS,TRAINER,FOLACTION,PERSON_TOTAL,OVERDATE,COURCE_NO,KESHI,
BEIZHU,ZHUTI from VCORPTRAINCOURSEREC where VCORPTRAINCOURSEREC_ID=:jihuaid
into :DEPARTMENTNOID,:TRAINCLASS_NO,:YEAR_NO,:MONTH_NO,:COURSE,:OBJECTIVE,:AUDIENCE,:TRAIN_DATE,
:DURATION,:PLACE,:METHODS,:TRAINER,:FOLACTION,:PERSON_TOTAL,:OVERDATE,:COURCE_NO,:KESHI,
:BEIZHU,:ZHUTI;
end
end
写的那有错误啊??
执行过程代码是
if(jihuaid>0)then
begin
with DatamodPersonClass.JIHUA_DAORU do
begin
close;
params[0].AsInteger:=jihuaid;
ExecProc;
prepare;
DatamodPersonClass.open_Q_TRAINDANGAN;
showmessage('实施导入完毕');
end
end
else showmessage('未导入');
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货