2 x858299224 x858299224 于 2016.04.04 15:55 提问

sql server 怎么使用变量一次性建立很多表,表的内容一样,表名不一样

例如
declare @i int
set @i=1
while @i<=30
begin
create table love+@i

ID int,
name varchar(10);

set @i=@i+1
end

3个回答

CSDNXIAOD
CSDNXIAOD   2016.04.04 16:02

SQL Server 如何使用命令修改表名或表的列名 和 删除表
Sql server表变量
sql server 存储过程中使用变量表,临时表的分析
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

wmxcn2000
wmxcn2000   Rxr 2016.04.04 16:05

使用动态SQL,拼接建表语句。

yxj924
yxj924   2016.09.28 14:03

declare @i int
declare @sql varchar(1000)
set @i=1
while @i<=30
begin
set @sql='
create table love+'+convert(varchar(20),@i)+'

ID int,
name varchar(10);

'
exec(@sql)

set @i=@i+1
end

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Sql Server中用变量名作为表名的sql
  如果你在写procedure时要根据特定变量的值动态创建table(表名是全部或部分特定变量的值)。例如:declare @tablename        char(10) set @tablename=test你想用变量@tablename的值作为表名创建一个新表,那么用create table @tablename (test char(8))语句在SQL Ser
Sql Server中用变量名作为表名的解决方案
最近写procedure,遇到一些问题。其中我觉得关于“用变量名作为表名”的问题较有价值,写出和大家一起分享。请各位若有好的解决方案一定要不吝赐教。情景:如果你在写procedure时要根据特定变量的值动态创建table(表名是全部或部分特定变量的值)。例如:declare @tablename        char(10)//if some statements
动态创建临时表,根据变量动态命名临时表表名
create proc up_createtmptable14(@id int) as while @id begin  declare @sql varchar(8000) select @sql='' select @sql='SELECT * into ##t1_'+cast(@id as varchar(10))+' FROM [DB_MES2].[dbo].[MES_PROD
sql server用变量动态命名临时表表名
sql server不支持动态命名局部临时表的表名,如以下语句并不能创建局部临时表:declare @n nvarchar(10),@s nvarchar(100)set @n = tempset @s = Nselect * into #+@n+ from mytable--print @sexec sp_executesql @s以上语句并不提示错误,但查询#temp表时,提示#t
SQLSERVER 表名数据库名作为变量 必须使用动态SQL(源自网络)
动态语句基本语法:1 :普通SQL语句可以用exec执行Select * from tableName exec('select * from tableName')exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态SQL declare @fname varchar(20)
[sql server][基础] 多表关联创建
if object_id('tableCD') is not null drop table tableCD---多对多要加个中间表goif object_id('tableD') is not null drop table tableDgoif object_id('tableC') is not null drop table tableCgoif object_id('tableB') is not null drop table tableBgoif object_id('tableA') is
.NET 一次查询多表,填充DataSet并指定表名(DataSet指定DataTable名称的技巧)
现实中的场景,有时可能需要一次查询数据库中表张,  在使用SqlDataAdapter类的Fill方法填充DataSet, 同时指定填充到DataSet中DataTable表名, 例如设置成跟数据库一样的。 可以通过SqlDataAdapter类的TableMappings属性实现。 SqlDataAdapter类的Fill方法填充DataSet中表名称,默认是Table, Tab
SQl 表名是变量
用另一个变量保存要执行的SQL语句 然后用exec执行该变量 declare @strsql varchar(50),               @table_name varchar(50) set @table_name='test'       --test是表名 set @strsql='select count(*) from '+@table_name exe
存储过程调用表名为变量...(含基本sql语法说明)
 1.什么时候用+号? 为了组成一个字符串类型的语句,要用+号作连接符。 一般情况下,字符串与字符串变量连接时才用加号。 如: DECLARE @SQL NVARCHAR(1000),@tablename nvarchar(100),@SORTFIELD NVARCHAR(100) SELECT @TABLENAME=N'MYTABLE',@SORTFIELD=N'USERCODE' SET @SQL=N'SELECT * from '+@tablename+N' order by
SQL DELETE 语句及使用表名使用别名的方法
DELETE 语句用于删除表中的行。语法如下DELETE FROM 表名称 WHERE 列名称 = 值例如:DELETE FROM user WHERE name = 'Wilson' 当表名使用别名时,语法如下DELETE 别名 FROM 表名称 别名 WHERE 列名称 = 值例如:DELETE t FROM user t WHERE name = 'Wilson' 如果写成DELETE FRO