错误提示:消息 102,级别 15,状态 1,第 1 行
'2008' 附近有语法错误。
消息 105,级别 15,状态 1,第 1 行
字符串 '' 后的引号不完整。declare @s varchar(max)
declare @s2 varchar(100)
declare @s3 DateTime
declare @s4 varchar(100)
declare @s5 DateTime
declare @i int
set @s = ''
set @s2 = ''
set @s3 = ''
set @s4 = ''
set @s5 = '' select @s = @s + ''''+xslcountent+''','
from xslcountent
where datediff(day,xslshortdate ,getdate()) = 0 and zhrz='是'
order by xslshortdate
select
@i = @@rowcount,
@s = @s + replicate(''''',',10 - @i) select distinct @s2 = xslsourceguid
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是' select distinct @s3 = xslshortdate
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是' select distinct @s4 = xslsourcename
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是' select distinct @s5 = xslshortdate
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是'
set @s = @s + '''' + @s2 + '''' +convert(varchar(30),@s3,121)+ ''''+@s4 + ''''+convert(varchar(30),@s5,121)+ ''''
if @i > 0
exec('insert worklog(workcontent1,workcontent2,workcontent3,workcontent4,workcontent5,workcontent6,workcontent7,workcontent8,workcontent9,workcontent10,usernameguid,workdate,username,longdatetime) select ' + @s)
'2008' 附近有语法错误。
消息 105,级别 15,状态 1,第 1 行
字符串 '' 后的引号不完整。declare @s varchar(max)
declare @s2 varchar(100)
declare @s3 DateTime
declare @s4 varchar(100)
declare @s5 DateTime
declare @i int
set @s = ''
set @s2 = ''
set @s3 = ''
set @s4 = ''
set @s5 = '' select @s = @s + ''''+xslcountent+''','
from xslcountent
where datediff(day,xslshortdate ,getdate()) = 0 and zhrz='是'
order by xslshortdate
select
@i = @@rowcount,
@s = @s + replicate(''''',',10 - @i) select distinct @s2 = xslsourceguid
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是' select distinct @s3 = xslshortdate
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是' select distinct @s4 = xslsourcename
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是' select distinct @s5 = xslshortdate
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是'
set @s = @s + '''' + @s2 + '''' +convert(varchar(30),@s3,121)+ ''''+@s4 + ''''+convert(varchar(30),@s5,121)+ ''''
if @i > 0
exec('insert worklog(workcontent1,workcontent2,workcontent3,workcontent4,workcontent5,workcontent6,workcontent7,workcontent8,workcontent9,workcontent10,usernameguid,workdate,username,longdatetime) select ' + @s)
解决方案 »
- SQL Server 2005: 求ENDENGPOINT的实际应用举例
- pt
- 问个MS SQL SERVER2000的问题,希望高手解答...
- ●●高分悬赏●●:执行存储过程提示:attempted to return a status of NULL, which is not allowed. A status of 0 will be returned i
- SQL语句问题,请大家指教
- sql server 生成xml的问题
- 大侠 江湖救急
- 谁能帮忙分析多个角色分配占有率问题,急急急急急急急!
- 還分, 并再提問:關于在觸發器出現錯誤的處理!
- 关于MSSQL的问题(300分),一定会加
- 求一条SQL语句,或者存储过程
- 关于数据库乱码的问题
declare @sqlstr varchar(8000)
set @sqlstr=''
set sqlstr=''insert worklog(workcontent1,workcontent2,workcontent3,workcontent4,workcontent5,workcontent6,workcontent7,workcontent8,workcontent9,workcontent10,usernameguid,workdate,username,longdatetime) select '
set @sqlstr=@sqlstr+@s
print @sqlstr --输出完整查询语句
在查询分析器里面直接执行输出的查询语句,看看哪里有问题,修改一下,这样就很容易发现错误了
是这里出错了 建议你试试以下的方法
declare @sqlstr varchar(8000)
set @sqlstr=''
set sqlstr='insert worklog(workcontent1,workcontent2,workcontent3,workcontent4,workcontent5,workcontent6,workcontent7,workcontent8,workcontent9,workcontent10,usernameguid,workdate,username,longdatetime) select '
set @sqlstr=@sqlstr+@s
print @sqlstr --输出完整查询语句
在查询分析器里面直接执行输出的查询语句,看看哪里有问题,修改一下,这样就很容易发现错误了
就是说,xslcountent表中有n条当天数据,通过作业定时将这n条都插入到worklog中的content1,content2,.......content10,但是xslcountent表中的有四个相同的字段只插入一个到worklog中
比如有如下条数据 id content xslsourcename xslsourceguid xslshortdate
1 111 lu fesfsf 2008-07-10
2 222 lu fesfsf 2008-07-10
3 333 lu fesfsf 2008-07-10
4 444 lu fesfsf 2008-07-10
5 555 lu fesfsf 2008-07-10
结果worklog表是一条记录
xslid content1 content2 content3 content4 content5..content10 xslsourcename xslsourceguid
1 111 222 333 444 555 lu fesfsfdeclare @s varchar(max)
declare @s2 varchar(100) declare @i int
set @s = ''
set @s2 = ''
select @s = @s + ''''+xslcountent+''','
from xslcountent
where datediff(day,xslshortdate ,getdate()) = 0 and zhrz='是'
order by xslshortdate
select
@i = @@rowcount,
@s = @s + replicate(''''',',10 - @i) select distinct @s2 = xslsourceguid
from xslcountent
where datediff(day,xslshortdate,getdate()) = 0 and zhrz='是'
set @s = @s + '''' + @s2 + ''''
if @i > 0
exec('insert worklog(workcontent1,workcontent2,workcontent3,workcontent4,workcontent5,workcontent6,workcontent7,workcontent8,workcontent9,workcontent10,usernameguid) select ' + @s)
'=' 附近有语法错误。这句报错:set sqlstr='insert worklog(workcontent1,workcontent2,workcontent3,workcontent4,workcontent5,workcontent6,workcontent7,workcontent8,workcontent9,workcontent10,usernameguid,workdate,username,longdatetime) select '