动态改变数据库表结构的sql存储过程
来源:互联网 发布:军事机构的域名是 编辑:程序博客网 时间:2024/05/17 07:51
增加数据库表字段的sql语句
下面这个语句是从一个表的某列取记录,把所有记录增加为要改变表的字段
第一个参数是要改变的表名称
第二个参数是要从哪个表选择列
第三个参数是要选择的列名
第四个参数是要增加字段的数据类型。如:char(12)
alter proc alters @table char(20),@tablename char(20),@columns char(20),@type char(20)
as
begin tran
declare @sql varchar(150)
create table m(a char(30),idint int)
declare @id int
select @id=id from sysobjects where name=@table
insert into m(idint) values(@id)
insert into m(a) select name from syscolumns where id=(select idint from m)
delete from m where idint=@id
select @sql='select distinct '+@columns +' as col from '+@tablename
select @sql='select * into t from ( '+@sql+' ) as a'
exec (@sql)
select @sql='delete from t where t.col in (select a from m)'
exec (@sql)
select @sql='alter table t add bh int identity(1,1)'
exec (@sql)
create table #t(a int,b char(20))
select @sql='insert into #t(a) select count(*) from t'
exec (@sql)
declare @i int
select @i=1
declare @shu int
select @shu= a from #t
while (@i<=@shu)
begin
select @sql='update #t set b= t.col from t where t.bh='+convert(char,@i)
exec (@sql)
declare @names char(20)
select @names = b from #t
select @sql='alter table '+@table +' add '+@names+' '+@type
exec (@sql)
select @i=@i+1
end
select @sql='drop table t'
exec (@sql)
select @sql='drop table m'
exec (@sql)
drop table #t
commit
- 动态改变数据库表结构的sql存储过程
- Sybase 动态改变存储过程里查询的数据库
- sql数据库相关:查看存储过程的内置函数和手写的查看表结构存储过程
- 数据库表的存储结构-SQL Server
- 动态创建SQL Server数据库、表、存储过程
- 动态创建SQL Server数据库、表、存储过程
- 动态创建SQL Server数据库、表、存储过程
- 动态创建SQL Server数据库表存储过程
- 动态创建SQL Server数据库表存储过程
- 动态创建SQL Server数据库表存储过程
- 使用T-SQL语句查看数据库的存储过程和表结构信息
- sql查询表的结构的存储过程
- sql server中取得表结构的存储过程
- SQL复制表结构的通用存储过程
- sql server查看表结构、存储过程定义的命令
- 给SQL补充一个查看表结构的存储过程
- SQL Server 2008 显示表结构的存储过程
- sqlserver获取数据库表结构的存储过程
- asp.net必懂题
- 类成员的访问修饰符和可访问性
- ThreadLocal使用分析
- wince内存分配
- 值类型与引用类型的区别
- 动态改变数据库表结构的sql存储过程
- 1、1、2、3、5、8、13、21、34...... (用递归算法)
- 解析SQL Server 2008的精妙之处
- 学习.Net的经典网站
- C#中的泛型(2.0)
- c#中的反射
- 详细介绍微软SQL Server 2008
- C#中的常用例程
- 栈的应用:十进制转八进制