📅  最后修改于: 2023-12-03 15:41:54.036000             🧑  作者: Mango
PL/SQL是Oracle数据库的过程语言,它可以让我们在数据库中创建存储过程、函数以及触发器等等。在PL/SQL中输出表通常使用游标和循环结构实现。本文将介绍如何在PL/SQL中输出表,并附带代码实现。
为了输出表,我们首先需要使用游标从数据库中查询数据。下面是一个简单的游标查询示例:
DECLARE
CURSOR cur IS SELECT ename, sal FROM emp;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
OPEN cur;
LOOP
FETCH cur INTO v_ename, v_sal;
EXIT WHEN cur%NOTFOUND;
--在此处添加输出表的代码
END LOOP;
CLOSE cur;
END;
以上代码中,我们创建了一个名为“cur”的游标,并从“emp”表中查询了“ename”和“sal”这两列数据。然后我们使用了“OPEN”语句开启游标,使用游标循环结构遍历游标数据,最后使用“CLOSE”语句关闭游标。
在循环结构中,我们可以使用很多种方法输出表,如使用DBMS_OUTPUT.PUT_LINE过程输出内容、将查询结果放入PL/SQL表中再输出等等。下面是一个使用DBMS_OUTPUT.PUT_LINE输出表的示例:
DECLARE
CURSOR cur IS SELECT ename, sal FROM emp;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
OPEN cur;
DBMS_OUTPUT.PUT_LINE('EMPLOYEE_NAME SALARY');
LOOP
FETCH cur INTO v_ename, v_sal;
EXIT WHEN cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_ename || ' ' || v_sal);
END LOOP;
CLOSE cur;
END;
以上代码中,我们添加了“DBMS_OUTPUT.PUT_LINE”语句来输出表头和查询结果。在循环结构中,我们使用“||”语句连接姓名和薪资数据,并使用“PUT_LINE”语句逐行输出。
EMPLOYEE_NAME SALARY
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450
SCOTT 3000
KING 5000
TURNER 1500
ADAMS 1100
JAMES 950
FORD 3000
MILLER 1300
通过以上代码和输出结果可知,我们成功使用PL/SQL输出表内容。希望本文的内容对PL/SQL程序员们有所帮助。