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型別變數
- PHP變數型別PHP變數型別
- Java 變數型別Java變數型別
- 變數型別-Set變數型別
- MySQL資料型別及sql模型及伺服器變數MySql資料型別模型伺服器變數
- 資料型別,變數資料型別變數
- JavaScript - 變數、值、型別JavaScript變數型別
- 變數型別轉換變數型別
- 修改全域性變數時,可變型別和不可變型別的區別變數型別
- PL/SQL 宣告SQL
- Oracle PL/SQLOracleSQL
- 淺談變數型別之外的變數命名變數型別
- 如何判斷變數型別變數型別
- Pytorch變數型別轉換PyTorch變數型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- pl/sql to_dateSQL
- PL/SQL 運算子SQL
- PL/SQL 條件SQL
- PL/SQL 迴圈SQL
- PL/SQL 遊標SQL
- C++ 變數型別查詢C++變數型別
- python學習之變數型別Python變數型別
- Rust的變數型別__Data typeRust變數型別
- Dart型別變數-表示資訊Dart型別變數
- c++基本型別和變數C++型別變數
- 二、變數與資料型別變數資料型別
- 02.內建變數型別變數型別
- python—資料型別和變數Python資料型別變數
- Shell-變數高階用法 (3) 有型別變數變數型別
- c++中的變數型別_C ++中的變數C++變數型別
- 6. Oracle開發和應用—6.4. PL/SQL語法—6.4.2. 變數OracleSQL變數
- 強型別語言變數和資料型別的理解變數資料型別
- Solidity-變數和資料型別[複合型別_1]Solid變數資料型別
- 判斷javaScript變數是Ojbect型別還是Array型別JavaScript變數型別
- 型別的本質:對變數、型別、指標的理解型別變數指標
- [譯] Pandas 資料型別概覽資料型別
- Oracle vs PostgreSQL Develop(23) - PL(pg)sql(引數宣告)OracleSQLdev
- 第 5 小節 golang 變數型別Golang變數型別