小编use*_*640的帖子

存储过程包括添加列,更新该列的数据以及从该表中选择所有数据

我写了一个存储过程如下:

  CREATE PROC spSoNguoiThan 
   @SNT int
    AS 
       begin 
    IF not exists (select column_name from  INFORMATION_SCHEMA.columns where
                    table_name = 'NhanVien' and   column_name = 'SoNguoiThan')  

            ALTER TABLE NhanVien ADD   SoNguoiThan int
    else 
           begin
        UPDATE  NhanVien
                SET  NhanVien.SoNguoiThan = (SELECT  Count(MaNguoiThan)FROM NguoiThan
                                             WHERE MaNV=NhanVien.MaNV 
                                             GROUP BY  NhanVien.MaNV)   
           end   

    SELECT *
        FROM NhanVien 
    WHERE    SoNguoiThan>@SNT
 end 
GO
Run Code Online (Sandbox Code Playgroud)

然后我得到错误:

Server: Msg 207, Level 16, State 1, Procedure spSoNguoiThan, Line 12
Invalid column name 'SoNguoiThan'.
Server: Msg 207, Level 16, State 1, Procedure spSoNguoiThan, Line 15 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2000

2
推荐指数
1
解决办法
2947
查看次数

标签 统计

sql ×1

sql-server-2000 ×1

t-sql ×1