我有一个没有编译的pl/sql过程。错误包括:
Error(3,7): PLS-00103: Encountered the symbol "INTO" when expecting one of the following: ( begin case declare exit for goto if loop mod null pragma raise return select update while with << continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge The symbol "INTO" was ignored. Error(8,1): PLS-00428: an INTO clause is expected in this SELECT statement
.
我的代码:
CREATE OR REPLACE PROCEDURE findvisitsandlaborcosts
as
begin
select * from SI.customer;
end;
/
我在google上搜索了一个在线语法检查器,它在第一行显示有一个错误。但是在哪里?!?这似乎是正确的。我在google上搜索了声明一个过程的语法,并且反复检查了很多次。一定是我忽略了一些简单的事情。。。
2条答案
按热度按时间0g0grzrc1#
在plsql代码中,您需要一个占位符来保存select查询的结果。因为plsql引擎在select语句中需要into子句。
首先,可以选择一组列并将其值赋给局部变量。
你的代码应该是这样的-
注意-在运行此代码之前,需要用实际的列名替换column1和column2。
w41d8nur2#
如果希望结果显示在过程的调用者上,那么可以定义out参数并打印过程外部的记录
oracle12c支持隐式返回结果
看看这个链接https://oracle-base.com/articles/12c/implicit-statement-results-12cr1