提示语法错误?

亚细亚 2020-04-02 10:06:55
查了半天,也查不出语法出了什么问题。


declare @a0 nvarchar(1000)
declare @a1 nvarchar(max)
declare @i int
set @i=1
while @i<=2
begin
set @a0='declare @ip'+convert(nvarchar(30),@i)+' varchar(20) '
set @a1='@ip'+convert(varchar(30),@i)+'='+left(dbo.GetSplitOfIndex('192.168.0.1,192.168.0.2',',',@i), 20)
print @a1
exec(@a0+@a1)
set @i=@i+1
end


...全文
347 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
亚细亚 2020-04-02
  • 打赏
  • 举报
回复
非常感谢,结贴!
RINK_1 2020-04-02
  • 打赏
  • 举报
回复
引用 5 楼 亚细亚 的回复:
[quote=引用 4 楼 RINK_1 的回复:] [quote=引用 3 楼 亚细亚 的回复:] 通过循环动态定义变量@ip1和@ip2, 然后分别赋值192.168.0.1和192.168.0.2,运行结果发现有语法错误,不知错在哪里?
赋值为啥没有SET关键字[/quote] 加上set 还是有问题[/quote] 你试试下面的,实在不行,你print(@a0+@a1)出来,看看拼接后哪里有问题。


 declare @a0 nvarchar(1000)
 declare @a1 nvarchar(max)
 declare @i int
 set @i=1
 while @i<=2
 begin
    set @a0='declare @ip'+convert(nvarchar(30),@i)+' varchar(20) '
    set @a1='set @ip'+convert(varchar(30),@i)+'='''+left(dbo.GetSplitOfIndex('192.168.0.1,192.168.0.2',',',@i), 20)+''''
    --set @a1=' set @ip'+convert(varchar(30),@i)+'=192.168.0.1'
   print @a1
     exec(@a0+@a1)
    set @i=@i+1
 end
亚细亚 2020-04-02
  • 打赏
  • 举报
回复
declare @a0 nvarchar(1000)
declare @a1 nvarchar(max)
declare @i int
set @i=1
while @i<=2
begin
set @a0='declare @ip'+convert(nvarchar(30),@i)+' varchar(20) '
set @a1='set @ip'+convert(varchar(30),@i)+'='+left(dbo.GetSplitOfIndex('192.168.0.1,192.168.0.2',',',@i), 20)
--set @a1=' set @ip'+convert(varchar(30),@i)+'=192.168.0.1'
print @a1
exec(@a0+@a1)
set @i=@i+1
end

运行提示:
set @ip1=192.168.0.1
消息 102,级别 15,状态 1,第 1 行
'.0' 附近有语法错误。
set @ip2=192.168.0.2
消息 102,级别 15,状态 1,第 1 行
'.0' 附近有语法错误。
亚细亚 2020-04-02
  • 打赏
  • 举报
回复
引用 4 楼 RINK_1 的回复:
[quote=引用 3 楼 亚细亚 的回复:]

通过循环动态定义变量@ip1和@ip2, 然后分别赋值192.168.0.1和192.168.0.2,运行结果发现有语法错误,不知错在哪里?


赋值为啥没有SET关键字[/quote]
加上set 还是有问题
RINK_1 2020-04-02
  • 打赏
  • 举报
回复
引用 3 楼 亚细亚 的回复:
通过循环动态定义变量@ip1和@ip2, 然后分别赋值192.168.0.1和192.168.0.2,运行结果发现有语法错误,不知错在哪里?
赋值为啥没有SET关键字
亚细亚 2020-04-02
  • 打赏
  • 举报
回复

通过循环动态定义变量@ip1和@ip2, 然后分别赋值192.168.0.1和192.168.0.2,运行结果发现有语法错误,不知错在哪里?
RINK_1 2020-04-02
  • 打赏
  • 举报
回复
是不是应该是@a1='set @ip.......'

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧