指定的表的列名无效_SQL列名无效问题

createtriggerTR_CTableToSITable_IUoncourseTableforinsert,updateasbegindeclare@t_IDvarchar(20),@t_namevarchar(20),@t_tvarchar(20),@t_CNvarchar(20),@t_Mfloatselect@t_ID=ID,...

create trigger TR_CTableToSITable_IU on courseTable for insert,update as

begin

declare @t_ID varchar(20),@t_name varchar(20),@t_t varchar(20),@t_CN varchar(20),@t_M float

select @t_ID=ID,@t_name =name,@t_t=time,@t_CN=course,@t_M = Money from inserted

if EXISTS (select * from syscolumns where id=object_id('showInforTable')and name=@t_CN)

update showInforTable set ['+@t_CN+'] = @t_M where 工号 = @t_ID and 时间 = @t_t

else

ALTER TABLE [showInforTable] ADD ['+@t_CN+'] float NULL

update showInforTable set ['+@t_CN+'] = @t_M where 工号 = @t_ID and 时间 = @t_t

if @@error<>0GOTO error

return

error: raiserror('数据录入showInforTable失败',16,1)

end

大概意思是想在inserted表中取出数据course作为showInforTable表中的列名,如果列名存在,就更新showInforTable表中该列的数据,如果不存在就增加列名,这里SQL提示是列名 ''+@t_CN+'' 无效。

求大神指导啊~~~

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值