PL/SQL第一章--概述及變數型別
--列印Hello World
declare(沒有說明部分的話可以不寫,程式以begin開始,以end;結束)
--說明部分(變數,游標或者例外)
begin
--程式體
dbms_output.put_line('Hello World');--(程式包)
end;
/ --退出編輯環境並且執行PL/SQL程式,前提是沒有語法錯誤
--開啟輸出開關
set serveroutput on
/--退出...
Hello World
藉助圖形化工具編寫PLSQL程式 Oracle SQL Developer
--檢視程式包的結構
desc dbms_output;
PL/SQL 全稱 Produce Language/SQL 過程語言的SQL
PLSQL是Oracle對sql語言的過程化擴充套件(程式導向的語言)
--指在SQL命令語言中增加了過程處理語句(分支,迴圈),是SQL語言具有過程處理的能力
傳統的update語言是命令式語言。
SQL語言 + 過程語言 程式導向,簡單,高效,靈活,實用
資料操縱能力 資料處理能力
不同資料庫的SQL擴充套件
Oracle:PL/SQL DB2:SQL/PL SQL Server:Transac-SQL(T-SQL) MySQL:limit
PL/SQL的程式結構
declare 說明部分(變數說明,游標說明,例外說明)
begin 語句序列(DML語句)
exception 例外處理語句
end;
*定義基本變數 型別 char varchar2 number date boolean long 賦值形式:boolean :=true
一個較為完整的例子:
declare
pnumber number(7,2);
pname varchar2(20);
pdate date;
begin
pnumber:=1;
dbms_output.put_line(pnumber);
pname:='tom';
dbms_output.put_line(pname);
pdate:=sysdate;
dbms_output.put_line(pdate);
--計算明天的日期
dbms_output.put_line(pdate+1);
end;
/
引用型變數
舉例:my_name emp.ename%type; 引用emp表中的ename欄位的型別
需求:查詢員工號為1的員工姓名和薪水
declare
pename emp.ename%type;
psal emp.salary%type;
begin
--得到1的姓名,薪水,變數的順序和查詢語句順序對應
select ename,sal into pename,psal from emp where empno=1;
--列印姓名和薪水
dbms_output.put_line(pename||'的薪水是'||psal);
end;
/
記錄型變數
舉例:emp_rec emp%rowtype;
記錄型變數分量的引用
舉例:emp_rec.ename:=‘ADAMS’;
--使用記錄型變數完成同樣需求
set serveroutput on
declare
--定義記錄型變數:注意代表一行
emp.rec emp%rowtype;
begin
--得到1這一行的資訊
select * into emp_rec from emp where empno=1;
--列印姓名和薪水
dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
end;
/
相關文章
- PL/SQL基本結構---PLSQL複合型別---表型別變數tableSQL型別變數
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-LONG和LONG RAW變數SQL資料型別變數
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-ROWID和UROWID變數SQL資料型別變數
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-CHAR和VARCHAR2變數SQL資料型別變數
- Pl/SQL 自定義型別SQL型別
- pl/sql記錄型別SQL型別
- pl/sql集合型別(一)SQL型別
- PL/SQL變數作用域SQL變數
- pl/sql集合型別_varray(二)SQL型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-使用者定義的PL/SQL子型別SQL資料型別
- PL/SQL 02 宣告變數 declareSQL變數
- PLSQL Language Reference-PL/SQL概覽-PL/SQL架構SQL架構
- 在PL/SQL中使用日期型別SQL型別
- PL/SQL複合資料型別SQL資料型別
- PLSQL Language Reference-PL/SQL概覽-PL/SQL的優點SQL
- PLSQL Language Reference-PL/SQL概覽-PL/SQL語言基礎SQL
- PL/SQL中char型別的暗門SQL型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-有限制的子型別SQL資料型別
- PLSQL Language Reference-PL/SQL概覽-PL/SQL的主要功能SQL
- PL/SQL變數值可變在程式中會變嗎?SQL變數
- PHP變數型別PHP變數型別
- Java 變數型別Java變數型別
- 變數型別-Set變數型別
- 關於pl/sql中的繫結變數SQL變數
- SQL*Plus中使用DATE型別的繫結變數SQL型別變數
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數作為宿主變數SQL變數
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-建立游標變數SQL變數
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-不同的最值大小SQL資料型別
- JavaScript - 變數、值、型別JavaScript變數型別
- 資料型別,變數資料型別變數
- 變數型別轉換變數型別
- Python變數型別Python變數型別
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數-游標變數賦值SQL變數賦值
- PLSQL Language Referenc-PL/SQL靜態SQL-游標變數SQL變數
- 修改全域性變數時,可變型別和不可變型別的區別變數型別
- PL/SQL 中如何正確選擇遊標型別SQL型別
- 淺談變數型別之外的變數命名變數型別
- PL/SQL-遊標和遊標變數的使用SQL變數