存储过程 声明 赋值 问题
存储过程
BEGIN
DECLARE @test VARCHAR(1000)
SET @test = SELECT SUBSTRING(A,4,6) FROM T WHERE A='123123'
PRINT @test
END
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??!!!
oracle没有top和substring的。。。
------解决方案--------------------第一
oracle 没有top
sql里面有
第2
substring也不对 !
只是substr(字符,从第几位截取,截取几位)
------解决方案--------------------你放到sql server 里面执行就不会报错了
------解决方案--------------------oracle用where rownum=1
你这个语法不是oracle的
------解决方案--------------------确实不是oracle的,是sqlserver的
------解决方案--------------------
这语法明显不是Oracle,应该是楼主发错版块了。