说明
接上篇,此篇描述SqlServer的写法
存储过程
BEGIN
DECLARE @audittable varchar(200);
DECLARE @sqlstring varchar(200);
SET @audittable = ('gspaudit' + substring(CONVERT(varchar(100), GETDATE(), 112),3,4));
SET @sqlstring = 'alter table ' + @audittable + ' add seclevel VARCHAR(256)';
IF EXISTS(select 1 FROM sysobjects WHERE name = @audittable)
BEGIN
IF NOT EXISTS(SELECT 1 FROM SYS.SYSCOLUMNS A WHERE A.ID = OBJECT_ID(@audittable) AND A.NAME = 'seclevel' )
BEGIN
EXEC (@sqlstring);
END;
END;
END;
注意事项
1、SqlServer中变量赋值要加@
2、字符串连接可以使用“+”
SqlServer存储过程动态修改表结构
本文介绍如何在SqlServer中通过存储过程动态地为表添加字段。具体实现涉及变量声明、字符串拼接及条件判断,确保只有在目标表存在且指定字段不存在时才执行ALTER TABLE语句。
48

被折叠的 条评论
为什么被折叠?



