想要一个动态创建表的存储过程 写一个存储过程,想把字段名和数据类型名做成数组形式的,每次执行的时候,将字段个数进行初始化,然后将数据类型进行初始化,每个字段名可变,数据类型名也可变,能实现不? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般来说 是建一张表类似于数据字典表,表名 列名 列类型 默认值 ==table a int 0table b varchar(20) null根据这张表动态拼接字符串,不过最好还是别这么做,效率低下自己建表也没那么复杂。 可以实现, 但是好像没有你所说的数组, 参数为 '字段名1 类型1,字段名2 类型2,字段名3 类型3' 的格式吧create proc proc_addfields@tablename nvarchar(776),@fields nvarchar(max) -- '字段名1 类型1,字段名2 类型2,字段名3 类型3' asbegindeclare @sql nvarchar(max)set @sql = N'alter table ' + @tablename + ' add ' + @fieldsexec(@sql)end sql server连接问题 null 和 not null 的转化 马上结贴!~ 请教各位,SQL中的表,存储过程,视图,函数导出大家都用什么工具? isnumeric函数问题 两个结构完全相同的表a和b,如何用sql把b的全部内容插入a啊?很急!谢谢啦!!! 如何将数据表和存储过程的所有者修改为dbo用户? 请问哪里有<Inside SQL Server 2000>的电子版下载? 急!救救我,快急死了!!!我怎么办?? 模糊查询是否有另一种方法??? sql server执行字符串比较,不认中文。 [SQL]关于联合Select的语句..求助... 请教,关于sql语句执行错误的问题?
类似于数据字典表,
表名 列名 列类型 默认值 ==
table a int 0
table b varchar(20) null根据这张表动态拼接字符串,
不过最好还是别这么做,效率低下
自己建表也没那么复杂。
@tablename nvarchar(776),
@fields nvarchar(max) -- '字段名1 类型1,字段名2 类型2,字段名3 类型3'
as
begin
declare @sql nvarchar(max)
set @sql = N'alter table ' + @tablename + ' add ' + @fields
exec(@sql)
end