值类型可以统一用一种 如nvarchar
解决方案 »
- CreatInstance()起什么作用?
- 如何通过SQL命令来增加windows账号?
- 初学不太明白,请教个问题
- 服务器: 消息 170,级别 15,状态 1,过程 CopyGroup,行 28 第 28 行: '@i' 附近有语法错误。
- 难以想象,禁用了一切Sql的操作,他是怎么做到的。
- 判断选择查询两张表中的数据
- 求助一句SQL,在线等待
- 数据库如何备份到其它的PC上?
- *******为什么文件被打开而不是提示下载?????*******
- 在sqlserver2000中如何实现让一个存储过程在某一时间内自动运行?
- 高手挑战,求sql语句,可为存储过程
- excel和sql server 的导入导出问题
nvarchar(20)
只在sql中
CREATE TABLE (列名 列类型,。)
如果需要主键、索引,则还需要其他的SQL语句对于楼主所需要的功能,就可以在存储过程中,建立一个游标,循环获取要创建的表的各列列名,然后和表名一起根据CREATE TABLE语句的规则拼接成一个SQL,然后调用EXECUTE方法来执行这个SQL就可以了
创建主键、索引的方法与此类似的
DECLARE @ls_NewSQL varchar(4000)
DECLARE @ls_ColName varchar(100)
SELECT @ls_NewSQL = 'CREATE TABLE '
SELECT @ls_NewSQL = @ls_NewSQL + 新表的表名 + '( 'DECLARE C_Col CURSOR FOR
SELECT 列名 FROM 存列名信息的表
OPEN C_Col
FETCH C_Col INTO @ls_ColName
WHILE @@FETCH_STATUS
BEGIN
SELECT @ls_NewSQL = @ls_NewSQL + @ls_ColName + ' nvarchar(100),'
FETCH C_Col INTO @ls_ColName
END
CLOSE C_Col
DeAllocate C_Col
SELECT @ls_NewSQL = Left(@ls_NewSQL,Len(@ls_NewSQL) - 1)
SELECT @ls_NewSQL = @ls_NewSQL + ')'EXECUTE(@ls_NewSQL)
declare @_itemlist varchar(8000)set @_itemlist = 'create table ['+@_yourtablename+'] (' + char(13)
select @_itemlist = @_itemlist + '['+yourselectitemname + '] nvarchar(20) ,'+ char(13)
from yourselecttable
select @_itemlist = left( @_itemlist , len(@_itemlist )-2) + char(13)+') ON [PRIMARY]'
exec( @_itemlist )
create proc proc_test1 @tb_name varchar(20)
as
declare @c1 varchar(10),
@c2 varchar(10),
@c3 varchar(10),
@c4 varchar(10),
@sql varchar(200)
select @c1=a,@c2=b,@c3=c,@c4=d
from 表
where ...
set @sql = 'create table ['+@tb_name+'](['+@c1+'] varchar(20),
['+@c2+'] varchar(20),
['+@c3+'] varchar(20),
['+@c4+'] varchar(20))'
exec(@sql)
set @sql=''
select @sql=@sql+[value]+' nvarchar(20),' from table1
set @sql=substring(@sql,1,len(@sql)-1)
exec('create table newtable('+@sql+')')