小弟刚自己把命令执行了下,发现老师弹出错误,我现在就把我自己的发各位看下,麻烦看下错误在哪:
以下是我写的:
create table DocTrans(CoCode int,AgCode varchar(10),CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))
create table DocStatus(CoCode int,CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))create trigger triggername
on DocTrans
for update
as
update a
set a.CoHKCI = case when b.CoHKCI = '1' then b.AgCode else a.a end,
a.CoHKBR = case when b.CoHKBR = '1' then b.AgCode else a.b end,
a.CoHKCHOP = case when b.CoHKCHOP = '1' then b.AgCode else a.c end
from DocStatus a
left join inserted b on a.CoCode = b.CoCode
go
select * from DocTrans
select * from DocStatus
update DocTrans
set CoHKCI = '1' where CoCode = '1'
update DocTrans
set CoHKBR = '1' where CoCode = '2'到此运行我也不知道错误在哪?我下面把我数据库发各位看下:
/*****接收的相关文件资料*******/
create table DocTrans
(
TransNo char(20) 接收单号(R+yymmdd+001)R990315001
CoCode char(10), 公司编号
RecDate datetime, 交易时间
AgCode char(10), 代办人编号
StCode char(10), 收件人编号
CoHKCI char(2), 公司注册证 (预设为'0' 表示没有收此文件)
CoHKBR char(2), 公司商业登记证 (点击为'1' 表示收回此文件)
CoHKCHOP char(2),
)
/*****接收明细表*******/
create table DocRecHeader
(
RecNo char(20) primary key, 交易号
RecDate datetime, 交易时间
AgCode char(10), 代办人编号
StCode char(10), 收件人编号
)麻烦刚才的老师再看下,我问题在哪
以下是我写的:
create table DocTrans(CoCode int,AgCode varchar(10),CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))
create table DocStatus(CoCode int,CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))create trigger triggername
on DocTrans
for update
as
update a
set a.CoHKCI = case when b.CoHKCI = '1' then b.AgCode else a.a end,
a.CoHKBR = case when b.CoHKBR = '1' then b.AgCode else a.b end,
a.CoHKCHOP = case when b.CoHKCHOP = '1' then b.AgCode else a.c end
from DocStatus a
left join inserted b on a.CoCode = b.CoCode
go
select * from DocTrans
select * from DocStatus
update DocTrans
set CoHKCI = '1' where CoCode = '1'
update DocTrans
set CoHKBR = '1' where CoCode = '2'到此运行我也不知道错误在哪?我下面把我数据库发各位看下:
/*****接收的相关文件资料*******/
create table DocTrans
(
TransNo char(20) 接收单号(R+yymmdd+001)R990315001
CoCode char(10), 公司编号
RecDate datetime, 交易时间
AgCode char(10), 代办人编号
StCode char(10), 收件人编号
CoHKCI char(2), 公司注册证 (预设为'0' 表示没有收此文件)
CoHKBR char(2), 公司商业登记证 (点击为'1' 表示收回此文件)
CoHKCHOP char(2),
)
/*****接收明细表*******/
create table DocRecHeader
(
RecNo char(20) primary key, 交易号
RecDate datetime, 交易时间
AgCode char(10), 代办人编号
StCode char(10), 收件人编号
)麻烦刚才的老师再看下,我问题在哪
create trigger triggername
on DocTrans
for update
as
update a
set a.CoHKCI=case when b.CoHKCI= '1' then b.AgCode
else a.CoHKCI end,
a.CoHKBR=case when b.CoHKBR= '1' then b.AgCode
else a.CoHKBR end,
a.CoHKCHOP=case when b.CoHKCHOP= '1' then b.AgCode
else a.CoHKCHOP end
from DocStatus a
left join inserted b on a.CoCode=b.CoCode
go
--else 后面没修改过来!
--现在可以编译通过create table DocTrans(CoCode int,AgCode varchar(10),CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))
create table DocStatus(CoCode int,CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))
go
create trigger triggername
on DocTrans
for update
as
update a
set a.CoHKCI = case when b.CoHKCI = '1' then b.AgCode else a.a end,
a.CoHKBR = case when b.CoHKBR = '1' then b.AgCode else a.b end,
a.CoHKCHOP = case when b.CoHKCHOP = '1' then b.AgCode else a.c end
from DocStatus a
left join inserted b on a.CoCode= b.CoCode
go
select * from DocTrans
select * from DocStatus
update DocTrans
set CoHKCI = '1' where CoCode = '1'
update DocTrans
set CoHKBR = '1' where CoCode = '2' --到此运行我也不知道错误在哪?我下面把我数据库发各位看下:
/*****接收的相关文件资料*******/
create table DocTrans
(
TransNo char(20), --接收单号(R+yymmdd+001)R990315001
CoCode char(10), --公司编号
RecDate datetime, --交易时间
AgCode char(10), --代办人编号
StCode char(10), --收件人编号
CoHKCI char(2), --公司注册证 (预设为'0' 表示没有收此文件)
CoHKBR char(2), --公司商业登记证 (点击为'1' 表示收回此文件)
CoHKCHOP char(2),
)
/*****接收明细表*******/
create table DocRecHeader
(
RecNo char(20) primary key, --交易号
RecDate datetime, --交易时间
AgCode char(10), -- 代办人编号
StCode char(10), -- 收件人编号
)
create table DocStatus(CoCode int,CoHKCI varchar(10),CoHKBR varchar(10),CoHKCHOP varchar(10))
go ---这里必须加
create trigger triggername
on DocTrans
for update
as
update a
set a.CoHKCI = case when b.CoHKCI = '1' then b.AgCode else a.a end,
a.CoHKBR = case when b.CoHKBR = '1' then b.AgCode else a.b end,
a.CoHKCHOP = case when b.CoHKCHOP = '1' then b.AgCode else a.c end
from DocStatus a
left join inserted b on a.CoCode = b.CoCode
go
select * from DocTrans
select * from DocStatus
update DocTrans
set CoHKCI = '1' where CoCode = '1'
update DocTrans
set CoHKBR = '1' where CoCode = '2'