SQL批量导入数据,错哪了?帮忙看上
SQL批量导入数据,哪里错了?帮忙看下
消息 102,级别 15,状态 1,第 1 行
'*' 附近有语法错误。
------解决方案--------------------
- SQL code
DECLARE @length int DECLARE @name int SET @length = 2 set @name=08 while @name<=31 BEGIN 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 int DECLARE @name int SET @length = 2 set @name=08 while @name<=31 BEGIN 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)