Yas*_*muş 9 sql database oracle plsql
我有一些不同的SELECT查询具有相同的值.我想使用类似DECLARE的东西,但是当我写一个简单的DECLARE时,它说"INTO"是预期的.
如果我只想要一个"SELECT",我怎么能用"INTO"这个表格?
我只有两个(或更多)选择:
SELECT * FROM my_table1 WHERE column1=5 and column2=6;
Run Code Online (Sandbox Code Playgroud)
和
SELECT * FROM my_table2 WHERE col1=5 and col2=6;
Run Code Online (Sandbox Code Playgroud)
现在我想声明一个像var_col1和var_col2这样的变量,并在两个select查询中同时使用它们.
我认为这会奏效:
DECLARE
var_col1 number := 5;
var_vol2 number := 6;
BEGIN
SELECT * FROM my_table1 WHERE column1=var_col1 and column2=var_col2;
SELECT * FROM my_table2 WHERE col1=var_col1 and col2=var_col1;
/* and more SELECTs with var_col1 and var_col2 */
END;
Run Code Online (Sandbox Code Playgroud)
但没有机会......没有程序或功能,如何做到这一点?
当您select * from some_table;在SQL*Plus中编写时,SQL*Plus它充当客户端程序,并且在数据库返回的数据,格式化和显示数据方面为您做了大量工作.
键入后DECLARE,即可开始PL/SQL块.现在,您正在调用PL/SQL,而PL/SQL正在调用SQL.因此,您需要决定如何在PL/SQL中处理从SQL返回的数据.这样做的方法是通过一个INTO子句和一个变量来接收输出.考虑到,SELECT如果你不提供INTO条款,那么输出数据将从何而来?它必须去某个地方,对吧?
希望很清楚.