在 pl/sql 中使用 SELECT 返回 2 行或更多行的简单方法
我试图找出使用 pl/sql 中的 select 语句返回 2 行或更多行到 sqlplus 输出的最简单方法。这是一个基本示例。
begin
select sysdate,'12345' xid from dual
union all
select sysdate,'67890' xid from dual;
end;
/
错误是“此 SELECT 语句中需要 INTO 子句”
I am trying to figure out the most simple way to return 2 or more rows using a select statement in pl/sql to the sqlplus output. Here is a basic example.
begin
select sysdate,'12345' xid from dual
union all
select sysdate,'67890' xid from dual;
end;
/
Error is "an INTO clause is expected in this SELECT statement"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用游标返回查询结果:
You would use a cursor to return the result of a query:
是的,您可以从 PL/SQL 返回 ResultSet。查看此网址。
Yes, you can return a ResultSet from a PL/SQL. Take a look at this URL.
在 BEGIN-END 块中编写 SQL 代码时,无法在编辑器中显示其结果集。从查询中删除 BEGIN-END ,它会很高兴地显示结果。
基本上,BEGIN-END 块中的代码不用于显示结果,而是用于数据处理。因此,您应该简单地编写:
在 SQL 编辑器中显示结果集。
另请注意,我在第二个 SELECT 语句中删除了别名“XID”:您只需在 UNION/UNION ALL 语句中的第一个查询中提供列别名。
When writing a SQL code in a BEGIN-END block, you cannot display its result-set in the editor. Trim the BEGIN-END from your query, and it would happily display the results.
Basically, code within a BEGIN-END block is not used for displaying results, it is used for data processing instead. So you should simply write:
to display the result-set in your SQL editor.
Also notice that I removed alias "XID" in second SELECT statement: you need to give column aliases in only first query in a UNION/UNION ALL statement.