SELECT 123 from dual; -----这里加了个分号, SELECT EXP_CODE FROM EXP_STOCK_BALANCE;这样2个SQL可以同时执行,查询结果分2个TAB显示。
恩,怪我,没表达清楚 其实我想一个函数(只有主体内容),看能执行不,结果不行 主要是new-program window-function 里只执行不显示(不可见编程不爽)小弟初学pl/SQL dev 闹了许多笑话 见谅啊呵呵
简单想成一个window执行一个select就行了(显示一个)
函数或过程是不能显示select结果的,并且select必须into到变量中, 打印变量就行了,显示打印出的内容可以在命令窗口 SQL> --写一函数输入指定员工号的姓名 SQL> CREATE OR REPLACE FUNCTION get_ename(i_empno NUMBER) RETURN VARCHAR2 IS 2 v_result VARCHAR2(30); 3 BEGIN 4 SELECT ename INTO v_result FROM emp t WHERE t.empno = i_empno; 5 RETURN v_result; 6 END; 7 /
Function created
SQL> select get_ename(empno) from emp;
GET_ENAME(EMPNO) -------------------------------------------------------------------------------- SMITH ALLEN WARD JONES MARTIN BLAKE CLARK SCOTT KING TURNER ADAMS JAMES FORD MILLER
14 rows selected
SQL> --使用set serveroutput on打开屏幕输出显示 SQL> set serveroutput on; SQL> --在屏幕上打印输出结果 SQL> begin 2 dbms_output.put_line(3+2); 3 end; 4 /
SELECT EXP_CODE FROM EXP_STOCK_BALANCE;这样2个SQL可以同时执行,查询结果分2个TAB显示。
其实我想一个函数(只有主体内容),看能执行不,结果不行
主要是new-program window-function 里只执行不显示(不可见编程不爽)小弟初学pl/SQL dev 闹了许多笑话 见谅啊呵呵
简单想成一个window执行一个select就行了(显示一个)
打印变量就行了,显示打印出的内容可以在命令窗口
SQL> --写一函数输入指定员工号的姓名
SQL> CREATE OR REPLACE FUNCTION get_ename(i_empno NUMBER) RETURN VARCHAR2 IS
2 v_result VARCHAR2(30);
3 BEGIN
4 SELECT ename INTO v_result FROM emp t WHERE t.empno = i_empno;
5 RETURN v_result;
6 END;
7 /
Function created
SQL> select get_ename(empno) from emp;
GET_ENAME(EMPNO)
--------------------------------------------------------------------------------
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
14 rows selected
SQL> --使用set serveroutput on打开屏幕输出显示
SQL> set serveroutput on;
SQL> --在屏幕上打印输出结果
SQL> begin
2 dbms_output.put_line(3+2);
3 end;
4 /
5
PL/SQL procedure successfully completed
SQL>
两条语句之间用分号隔开
在一个sql window 窗口里面
sql语句末端使用 ; 分号隔开
按f8 就可以了 。
begin
delete from......;
delete from .....;
insert .....;
end;