为动态表生成一个动态触发器时遇到的问题

CREATE procedure CreatezcTable(@TableName varchar(10))
as
exec ('CREATE TABLE ' + @TableName + '(
[zkzh] [char] (15),
[xm] [char] (8) ,
[zybm] [char] (7),
[xb] [char] (1),
[telphone] [varchar] (12),
[varchar] (20),
[address] [varchar] (30),
[yzbm] [varchar] (6)
)')
declare @msql char(200)
set @msql='CREATE trigger '+@tablename+'1 on '+ @TableName+'
for insert
as
begin
declare @hh char(12)
select @hh=zkzh from inserted
update bmbhk set zdbh=right(@hh,5) where xqbm='
set @msql=@msql+'''+left(@hh,4)+'''
set @msql=@msql+' end'
exec(@msql)

其中问题出在以下部分
update bmbhk set zdbh=right(@hh,5) where xqbm='
set @msql=@msql+'''+left(@hh,4)+'''
set @msql=@msql+' end'

说有语法问题,试问如何修改?

---------------------------------------------------------------

update bmbhk set zdbh=right(@hh,5) where xqbm='-->
?
update bmbhk set zdbh=right(@hh,5) where xqbm=''

---------------------------------------------------------------

declare @msql char(200)
set @msql='CREATE trigger '+@tablename+'1 on '+ @TableName+'
for insert
as
begin
declare @hh char(12)
select @hh=zkzh from inserted
update bmbhk set zdbh=right(@hh,5) where xqbm='
set @msql=@msql+'''''+left(@hh,4)+'''''
set @msql=@msql+' end'
exec(@msql)

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus