pl/sql程式設計基礎
1.儲存一行一列
declare
v_sum number(4);
begin
select count(*) into v_sum from emp; --結果返回一個值,只需使用一個變數
dbms_output.put_line(v_sum);
end;
/
v_sum number(4);
begin
select count(*) into v_sum from emp; --結果返回一個值,只需使用一個變數
dbms_output.put_line(v_sum);
end;
/
2.儲存一行多列
a. 使用多個變數儲存一行
declare
v_sal number(5);
v_ename varchar(20);
begin
select ename,sal into v_ename,v_sal from emp where empno=7369; --限定返回一行
dbms_output.put_line(v_ename||','||v_sal);
end;
v_sal number(5);
v_ename varchar(20);
begin
select ename,sal into v_ename,v_sal from emp where empno=7369; --限定返回一行
dbms_output.put_line(v_ename||','||v_sal);
end;
b.使用%rowtype
declare
r_emp emp%rowtype;
begin
select * into r_emp from emp where empno=7369;
dbms_output.put_line(r_emp.ename);
dbms_output.put_line(r_emp.sal);
end;
r_emp emp%rowtype;
begin
select * into r_emp from emp where empno=7369;
dbms_output.put_line(r_emp.ename);
dbms_output.put_line(r_emp.sal);
end;
c.記錄型別
declare
type r is record(
sal number(5),
ename varchar(10)
);
emp_record r;
begin
select sal,ename into emp_record from emp where empno=7369;
dbms_output.put_line(emp_record.sal);
dbms_output.put_line(emp_record.ename);
end;
type r is record(
sal number(5),
ename varchar(10)
);
emp_record r;
begin
select sal,ename into emp_record from emp where empno=7369;
dbms_output.put_line(emp_record.sal);
dbms_output.put_line(emp_record.ename);
end;
3.儲存多行
使用遊標
3.1隱式遊標
3.2顯示遊標
步聚:宣告遊標-->開啟遊標-->檢索資料-->關閉遊標
a.使用帶引數遊標,把部門號是10的所有員工資訊列印出來
declare
cursor cursor_emp(v_deptno in number:=20)
is select * from emp
where deptno=v_deptno;
emp_record emp%rowtype;
begin
open cursor_emp(10);
loop
fetch cursor_emp into emp_record;
exit when cursor_emp%notfound;
dbms_output.put(emp_record.ename||',');
dbms_output.put_line(emp_record.sal);
end loop;
close cursor_emp;
end;
cursor cursor_emp(v_deptno in number:=20)
is select * from emp
where deptno=v_deptno;
emp_record emp%rowtype;
begin
open cursor_emp(10);
loop
fetch cursor_emp into emp_record;
exit when cursor_emp%notfound;
dbms_output.put(emp_record.ename||',');
dbms_output.put_line(emp_record.sal);
end loop;
close cursor_emp;
end;
b.遊標for迴圈
使用for迴圈依次讀取結果集中的行資料
declare
cursor cursor_emp is
select * from emp where deptno=10;
begin
for r in cursor_emp loop
dbms_output.put_line(r.ename);
dbms_output.put_line(r.sal);
end loop;
end;
cursor cursor_emp is
select * from emp where deptno=10;
begin
for r in cursor_emp loop
dbms_output.put_line(r.ename);
dbms_output.put_line(r.sal);
end loop;
end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26937943/viewspace-762748/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle PL/SQL 程式設計基礎 例項OracleSQL程式設計
- 原創:oracle PL/SQL程式設計基礎 上OracleSQL程式設計
- 原創:oracle PL/SQL程式設計基礎 下OracleSQL程式設計
- PL/SQL 基礎SQL
- PL/SQL程式設計(1)SQL程式設計
- PL/SQL程式設計急速上手SQL程式設計
- PL/SQL程式設計接觸SQL程式設計
- Oracle PL/SQL語言基礎OracleSQL
- 【SQL/PLUS】Oracle PL/SQL程式設計用set serveroutput onSQLOracle程式設計Server
- Oralce之PL/SQL程式設計(遊標)SQL程式設計
- PLSQL Language Reference-PL/SQL概覽-PL/SQL語言基礎SQL
- PL/SQL基礎語法入門SQL
- Oracle之PL/SQL基礎學習OracleSQL
- Oracle PL/SQL語言基礎(轉)OracleSQL
- ORACLE PL/SQL程式設計詳解之一: PL/SQL 程式設計簡介(千里之行,始於足下)OracleSQL程式設計
- SQL程式設計基礎(原書第3版)SQL程式設計
- 程式設計基礎程式設計
- Oracle之PL/SQL基礎學習之二OracleSQL
- Socket程式設計基礎程式設計
- Go程式設計基礎Go程式設計
- Java程式設計基礎Java程式設計
- Shell程式設計-基礎程式設計
- C程式設計基礎C程式程式設計
- shell程式設計基礎程式設計
- PLSQL Language Reference-PL/SQL語言基礎-表示式-短路計算SQL
- 網路程式設計基礎-socket基礎程式設計
- PLSQL Language Reference-PL/SQL語言基礎-表示式-PL/SQL表示式中的SQL函式SQL函式
- Java 基礎02Java程式設計基礎Java程式設計
- 程式設計基礎知識程式設計
- shell程式設計基礎二程式設計
- 【程式設計基礎】輸出程式設計
- 【socket程式設計基礎模板】程式設計
- 網路程式設計基礎程式設計
- QML程式設計 基礎 小白程式設計
- JNI程式設計基礎(一)程式設計
- 【Java基礎】通用程式設計Java程式設計
- linux程式設計基礎Linux程式設計
- python程式設計基礎Python程式設計