我建了一个表如下
create table person(
pk_person int identity not null primary key,
pno varchar(20) unique not null,
name varchar(20) not null,
pk_corp int not null
)
go
我想创建一个更新的存储过程(不固定要修改那个字段的)这里应该怎么来写这个存储过程?新人求高人指教!

解决方案 »

  1.   

    就3列,不嫌麻烦的话就写3个参数咯,然后if/else来判断update,主键反正你update不了的,不过如果有外键就麻烦一点
      

  2.   

    create proc p(@column sysname,@newvalue sysname,@where nvarchar(100))
    as
    exec ('update tb set '+@column+'='''+@newvalue+''' where '+@where)
      

  3.   

    有无外键主要影响你update的时候,是否要级联更新,否则影响数据一致性。