PLSQL學習筆記(msb38 46)

2021-09-07 16:18:50 字數 1579 閱讀 9204

--oracle內部程式語言 pl語言(過程語言)補充sql語言

分支、條件判斷、迴圈

分四塊:

1.declare做變數宣告(可選)

2.begin開始(必須有)

3.exception(catch到時執行)

4.end;(必須有)

e.g.

begin

dbms_output.put_line('helloworld!');

end;

標準命令列輸出,相當於system.out.println('***');

要set serveroutput on才能看見輸出,預設是off的

--declare宣告變數

變數名,預設以v_開頭

賦值,:=,(pascal語法)

不能使用保留字|第乙個字元必須是字母|最多包含30個字元|不能與表或列同名|一行一變數

變數型別(7種):binary_interger(用來計數而不是表示字段型別,可以提高效率,for  i=0,...,還有陣列下標)

number,char,varchar2,date,long,boolean(要給初值,否則為空)

constant相當於final,常量

boolean型別無法列印

變數用來儲存某張表某個欄位的值,可以跟著這個欄位的資料型別走,用 tablexx.欄位xx%type,也可以 變數%type

--復合變數

table相當於陣列,record相當於類

table:

先用type重新定義型別,index by binary_interger下標,下標值可以取負

type 

record:

type type_record_xx is record

欄位1 tablexx.欄位1%type,

欄位2 tablexx.欄位2%type

使用tablexx%rowtype做整體宣告

--plsql中select用法

plsql中使用select應當返回有且只有一條資料

select中應當有into

--plsql中delete、update、insert直接用即可,變數,需要commit

sql%rowcount,剛剛執行的sql有多少記錄被影響到

--ddl語句

加上execute immediate'create tablexx...'

單引號中間用兩個單引號代表乙個單引號

--if語句(pascal語法)

if(...)then

elseif(...)then

else

end if;

--loop語句

loop

exit when...;

end loop;

--for語句

for k in 1...10 loop

for k in reverse 1..10 loop

--dcl語句

--錯誤處理

exception

when...(如 too_many_rows no_data_found)then

when others../then

PL SQL學習筆記

from ebs pl sql儲存過程報表輸出 1.fnd file.put line fnd file.log,l err idx 從mes表獲取tool id tool.tool id 出現異常錯誤!2.fnd file.put line fnd file.output,文字輸出內容.獲取物件結...

PL SQL學習筆記

1 啟動sqlplus crtl r sqlplus 啟動sqlplus 輸入使用者名稱密碼登陸oracle 輸出hello world!ps sql set serveroutput on 這句不寫的話不會有結果輸出 sql begin 2 dbms output.put line hello w...

plsql 學習筆記1

在plsql中寫儲存過程時,需要寫 要執行的sql語句,在這個語句中變數應該這樣 變數 成為變數的值。如果變數需要加 那麼就得 變數 如果變數上加兩個 就是這樣 變數 那麼就變成 變數的名字,而不是變數的值。不是變數的量,如果需要加 那麼這樣,yyyy mm dd 一 是 關於plsql中寫在sql...