有表A 只有一列
有3条数据工资
保险
公积金表B只有一列
Guid需求:从A表中取出记录,作为B表的新列。处理后B表结构如下:Guid 工资 保险 公积金下面是部分存储过程代码:
create table B
(
Guid uniqueidentifier
)declare @Name as uniqueidentifier;DECLARE ProjectDirectCursor CURSOR FOR
select distinct Name from A
OPEN ProjectDirectCursor
FETCH NEXT FROM ProjectDirectCursor into @Name
WHILE @@FETCH_STATUS = 0
BEGIN
alter table #ProjectCostView add @Name decimal(19,3) null END
close ProjectDirectCursor
DEALLOCATE ProjectDirectCursor
出错信息如下: '@Name' 附近有语法错误。 行数为alter所在的行请问这个问题如何解决
有3条数据工资
保险
公积金表B只有一列
Guid需求:从A表中取出记录,作为B表的新列。处理后B表结构如下:Guid 工资 保险 公积金下面是部分存储过程代码:
create table B
(
Guid uniqueidentifier
)declare @Name as uniqueidentifier;DECLARE ProjectDirectCursor CURSOR FOR
select distinct Name from A
OPEN ProjectDirectCursor
FETCH NEXT FROM ProjectDirectCursor into @Name
WHILE @@FETCH_STATUS = 0
BEGIN
alter table #ProjectCostView add @Name decimal(19,3) null END
close ProjectDirectCursor
DEALLOCATE ProjectDirectCursor
出错信息如下: '@Name' 附近有语法错误。 行数为alter所在的行请问这个问题如何解决
alter table #ProjectCostView add @Name decimal(19,3) null
改为
exec( 'alter table #ProjectCostView add' + varCharName + 'decimal(19,3) null' )
alter table #ProjectCostView add @Name decimal(19,3) null把@Name 换成Name吧,(注:Name是保留字,要加上[])
ADD [ COLUMN ] column type