存储过程 BEGIN
DECLARE @test VARCHAR(1000)SET @test = SELECT SUBSTRING(A,4,6) FROM T WHERE A='123123'PRINT @testEND
sql 语句为 SELECT top 1 SUBSTRING(A,4,6) FROM T WHERE A like '123123%'都是报incorrect syntax near the keyword 'select'这个错,麻烦大家给看一下。
包括int 类型的赋值。
set @aa = 2
这样不对吗?存储过程
DECLARE @test VARCHAR(1000)SET @test = SELECT SUBSTRING(A,4,6) FROM T WHERE A='123123'PRINT @testEND
sql 语句为 SELECT top 1 SUBSTRING(A,4,6) FROM T WHERE A like '123123%'都是报incorrect syntax near the keyword 'select'这个错,麻烦大家给看一下。
包括int 类型的赋值。
set @aa = 2
这样不对吗?存储过程
oracle 没有top
sql里面有第2
substring也不对 !
只是substr(字符,从第几位截取,截取几位)
你这个语法不是oracle的
这语法明显不是Oracle,应该是楼主发错版块了。
虽然我的sqlserver也是半吊子,但 你这个赋值明显是可以看出有问题的。。BEGIN
DECLARE @test VARCHAR(1000)SELECT @test =SUBSTRING(A,4,6) FROM T WHERE A='123123'PRINT @testEND
sqlserver中select赋值,即使 一个select查出多行,也不会像oracle中一样报返回多个值的错误,它会取最后一条为准。当然加了top 1 在效率上会提高不少了。