SQL批量导入数据,哪里错了?帮忙看下
- SQL code
DECLARE @length intDECLARE @name intSET @length = 2set @name=08while @name<=31BEGIN declare @strSql varchar(500) declare @_str varchar(10) set @_str=REPLICATE('0',@length-DATALENGTH(CONVERT(VARCHAR,@name)))+CONVERT(VARCHAR,@name) set @strSql= 'insert into S201001'+@_str+'select * from DATA2010.dbo.S201001' +@_str set @name = @name+1 execute(@strSql)End消息 102,级别 15,状态 1,第 1 行
'*' 附近有语法错误。
[解决办法]
- SQL code
DECLARE @length intDECLARE @name intSET @length = 2set @name=08while @name<=31BEGIN declare @strSql varchar(500) declare @_str varchar(10) set @_str=REPLICATE('0',@length-DATALENGTH(CONVERT(VARCHAR,@name)))+CONVERT(VARCHAR,@name) set @strSql= 'insert into S201001'+@_str+' /*这里少空格*/select * from DATA2010.dbo.S201001' +@_str set @name = @name+1 execute(@strSql)End
[解决办法]
select 和表格名字连在一起了,中间要添加一个空格。
[解决办法]
[解决办法]
[解决办法]
DBCC SHRINKFILE (2, 0)
第一个参数是文件的标识 (ID) 号。若要获得文件 ID,请使用 FILE_IDEX 系统函数,或查询当前数据库中的 sys.database_files 目录视图。
第二个是收缩后的大小,这个可以随意指定
[解决办法]
可以把SQL语句print出来,然后执行以下,问题就很明显了!
- SQL code
print(@strSql)