sql server2005 SQL语句在中间注释后,后面的语句就无法执行了
写了一个分解字符串的函数函数内容如下SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--创建目的:分解字符串后将其加入单引号主要用于存储...
写了一个分解字符串的函数 函数内容如下
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--创建目的:分解字符串后将其加入单引号 主要用于存储过程的数组传递
--
Create function func_ChangeStrFormat(@Source varchar(1000),@Seperator varchar(20))
returns varchar(1000)
as
begin
Declare @Result varchar(1000)
Set @Result = ''
while @Source <> ''
begin
if CharIndex(@Seperator,@Source) = 0
begin
Set @Result = @Result+@Seperator+''''+@Source+''''
Set @Source = ''
break
end
if @Result = ''
Set @Result = ''''+SubString(@Source,1,CharIndex(@Seperator,@Source)-1)+''''
else
Set @Result = @Result+@Seperator+''''+SubString(@Source,1,CharIndex(@Seperator,@Source)-1)+''''
Set @Source = SubString(@Source,CharIndex(@Seperator,@Source)+1,len(@Source))
end
end
然后执行语句 语句就执行到了注释的那行 下面创建函数的语句就不执行了……这种情况是忽然间出现的 各位有这种经历吗?
上面漏写了返回语句
return @Result
不过仍然不能正常执行
不过如果这个语句不加注释 执行起来是没有问题的
杀毒完毕,发现了几个木马……但是运行原来编写的SQL文件依然不正常
于是重新建了一个文档,将代码再敲了一遍上去,运行成功了……我晕 展开
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--创建目的:分解字符串后将其加入单引号 主要用于存储过程的数组传递
--
Create function func_ChangeStrFormat(@Source varchar(1000),@Seperator varchar(20))
returns varchar(1000)
as
begin
Declare @Result varchar(1000)
Set @Result = ''
while @Source <> ''
begin
if CharIndex(@Seperator,@Source) = 0
begin
Set @Result = @Result+@Seperator+''''+@Source+''''
Set @Source = ''
break
end
if @Result = ''
Set @Result = ''''+SubString(@Source,1,CharIndex(@Seperator,@Source)-1)+''''
else
Set @Result = @Result+@Seperator+''''+SubString(@Source,1,CharIndex(@Seperator,@Source)-1)+''''
Set @Source = SubString(@Source,CharIndex(@Seperator,@Source)+1,len(@Source))
end
end
然后执行语句 语句就执行到了注释的那行 下面创建函数的语句就不执行了……这种情况是忽然间出现的 各位有这种经历吗?
上面漏写了返回语句
return @Result
不过仍然不能正常执行
不过如果这个语句不加注释 执行起来是没有问题的
杀毒完毕,发现了几个木马……但是运行原来编写的SQL文件依然不正常
于是重新建了一个文档,将代码再敲了一遍上去,运行成功了……我晕 展开
3个回答
展开全部
自己看仔细点哦:
--创建目的:分解字符串后将其加入单引号 主要用于存储过程的数组传递
--
Create function func_ChangeStrFormat(@Source varchar(1000),@Seperator varchar(20))
returns varchar(1000)
as
begin
改成:
--创建目的:分解字符串后将其加入单引号 主要用于存储过程的数组传递
Create function func_ChangeStrFormat(@Source varchar(1000),@Seperator varchar(20))
returns varchar(1000)
as
begin
就OK了。
--创建目的:分解字符串后将其加入单引号 主要用于存储过程的数组传递
--
Create function func_ChangeStrFormat(@Source varchar(1000),@Seperator varchar(20))
returns varchar(1000)
as
begin
改成:
--创建目的:分解字符串后将其加入单引号 主要用于存储过程的数组传递
Create function func_ChangeStrFormat(@Source varchar(1000),@Seperator varchar(20))
returns varchar(1000)
as
begin
就OK了。
追问
……这没用…… 问题依然存在
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用/*.....*/看看
追问
用过了 但是也很奇怪 有时候可以运行成功 有时候又失败 然后将我写SQL文件发给别人运行了一下 即使是换了机子也还是出现这个问题 现在正在杀毒……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询