SQL 小提琴输出错误
其实我对 PL/SQL 还是很陌生
Actually I am quite new to PL/SQL
我在 SQL Fiddle 中使用 oracle pl/sql 创建了下表
I created the following table using oracle pl/sql in SQL Fiddle
create table Employee(name varchar2(100),id integer, salary integer,PRIMARY KEY(id));
insert into Employee(name,id,salary) values('sa',94,100);
insert into Employee(name,id,salary) values('pr',88,150);
insert into Employee(name,id,salary) values('ji',33,900);
insert into Employee(name,id,salary) values('na',24,880);
insert into Employee(name,id,salary) values('po',65,770);
insert into Employee(name,id,salary) values('ri',69,910);
insert into Employee(name,id,salary) values('uj',12,650);
insert into Employee(name,id,salary) values('ad',43,440);
insert into Employee(name,id,salary) values('sam',40,550);
我执行了以下查询
DECLARE
employee_record Employee%ROWTYPE;
BEGIN
select * into employee_record from Employee where id>90;
dbms_output.put_line(employee_record.name||' '||employee_record.id||' '||employee_record.salary);
END;
/
我得到以下输出
Record Count: 0; Execution Time: 2ms
它应该打印员工记录中存在的值,对吗?我的 sql 查询是否有问题,或者 sql fiddle 无法显示 dbms_output 的问题?
It should print the values present in the employee record, right? Is there something wrong in my sql query or some problem with sql fiddle not able to display dbms_output?
推荐答案
你需要模拟 dbms_output.put_line
:)
架构:
create table Employee(
name varchar2(100),
id integer,
salary integer,
PRIMARY KEY(id)
);
insert into Employee(name,id,salary) values('sa',94,100);
insert into Employee(name,id,salary) values('pr',88,150);
insert into Employee(name,id,salary) values('ji',33,900);
insert into Employee(name,id,salary) values('na',24,880);
insert into Employee(name,id,salary) values('po',65,770);
insert into Employee(name,id,salary) values('ri',69,910);
insert into Employee(name,id,salary) values('uj',12,650);
insert into Employee(name,id,salary) values('ad',43,440);
insert into Employee(name,id,salary) values('sam',40,550);
create table dbmsoutput (
pos int,
mes varchar2(4000)
);
<小时>
SQL:
SQL:
DECLARE
employee_record Employee%ROWTYPE;
procedure put_line(p_mes in varchar2) is
v_pos int;
begin
select count(0) into v_pos from dbmsoutput;
insert into dbmsoutput (pos, mes) values (v_pos, p_mes);
end;
BEGIN
put_line('Hello! This code is powered by dbms_output emulator :)');
-- Your code here:
select * into employee_record from Employee where id>90;
put_line(employee_record.name||' '||employee_record.id||' '||employee_record.salary);
--
put_line('Bye!');
END;
/
SELECT mes FROM dbmsoutput order by pos
小提琴
相关文章