如果我们要为所有的表添加同一个字段,比如增加数据的创建时间。如果一个一个表的去添加,那真是太麻烦了,下面我们利用游标和alter table语句,一次性为数据量中所有表添加创建时间CreateDate字段,并为该字段添加默认值为当前时间。
sql语句如下:
declare @tablename varchar(50)
declare @sql varchar(1000)
declare cu_adcolumn cursor for select name from sys.tables
open cu_adcolumn
fetch next from cu_adcolumn into @tablename
while(@@fetch_status=0)
begin
set @sql = 'alter table '+@tablename+' add CreateDate datetime default(getdate())'
execute(@sql)
fetch next from cu_adcolumn into @tablename
end
close cu_adcolumn
deallocate cu_adcolumn
以上方法的关键在于:
1,会
在sql server中使用游标:
关于游标的使用,可以参考本站:
在Sql Server中创建游标示例2,
获取到数据库中所有表的表名,除了使用select name from sys.tables的方法外,大家还可以参考以下文章:
利用SQL语句查询数据库中所有表3,会
使用alter table语法。
比如上面示例中用到的为表添加一个字段的语法就是:
alter table 表名 add 字段名 字段类型
上面示例中只是演示了添加字段的功能,删除字段和修改字段名等方法都是一样的,只要修改execute(@sql)中的@sql定义即可。
本章所涉及的都是很基础的sql知识,希望能给sqlserver初学者带来帮助。-