oracle - 使用 PL/SQL 从表中检索数据
问题描述
我想从 DEPARTMENT 表中检索有关每个部门的所有信息,并将信息显示在屏幕上。
Column name Data type Constraints
DEPARTMENT_ID NUMBER(5) PK
DEPARTMENT_NAME VARCHAR2(25) NOT NULL
LOCATION_ID VARCHAR2(15)
Sample Output:
Department Details are :
1000, ADMIN, HQ-101
1010, DEVELOPMENT, CBE-103
1020, TESTING, CHN-102
我有一个代码如下 -
set serveroutput on;
declare
v_dno department.department_id%type;
v_dname department.department_name%type;
v_loc department.location_id%type;
begin
dbms_output.put_line('Department Details are :');
loop
dbms_output.put_line(v_dno || ', ' || v_dname || ', ' || v_loc);
end loop;
commit;
end;
/
但这不会产生任何输出,请帮助。提前致谢!
解决方案
IN SQL 如果要从表、视图等中检索数据,则需要使用SELECT语句。在您的匿名块中,您没有使用选择,而是循环空变量。因此,您需要像这样在代码中添加选择(您也可以使用声明的游标来执行此操作,但在这种情况下,我将其与 FOR 对齐):
set serveroutput on;
begin
dbms_output.put_line('Department Details are :');
for c in (select department_id, department_name, location_id from department) loop
dbms_output.put_line(c.department_id|| ', ' || c.department_name|| ', ' ||
c.location_id);
end loop;
commit;
end;
由于您使用的是游标,因此根本不需要声明和使用变量。
推荐阅读
- google-chrome-extension - 无法让 chrome.tabs.executeScripts 工作
- ruby - 在 Ruby 中扩展模块和测试类(或实例?)方法
- python - 大整数的 Pytorch LongTensor 给出浮点浮点值
- java - Apache Spark 中的数据集
- c# - 像imagecell xaml这样的自定义viewcell?
- c - 使用 %s 打印时,大小为 10 的字符数组显示 11 个字符
- javascript - 在另一个函数的范围内运行代码 (JavaScript)
- flask - 在 Flask 中,如何对 WTF 表单进行单元测试?
- javascript - 检测 Angular >= 6 中当前组件的变化
- kotlin - 不调用不存在元素的 ReactiveMongoTemplate findOne