decalre
--在這裡宣告和定義一些你需要用到的變數
begin
--這裡寫執行的**
end
這是plsql的基本語法
如何去定義乙個變數
變數名 變數型別 如 a number 也可以這麼定義 這裡還是以oracle的emp表為例
v_sal emp.sal%type或者v_sal emp.sal%rowtype
當你的變數過多的時候 可以用記錄型別來定義
如
type t_record is record(
firstcode varchar2(100),
firstname varchar2(100),
secondcode varchar2(100),
secondname varchar2(100)
);--記錄型別變數的宣告
v_record t_record;
判斷語句
if ... then ...
elsif.. then...
elseif..then..
else..
最後別忘記end if;
如何去定義乙個游標
這裡以oracle中自帶的emp表為例
cursor emp_sal_cursor is select sal from emp where deptno=20
游標的使用方式
open emp_sal_cursor;
fetch emp_sal_cursor into 定義的變數;
最後別忘記關閉游標close emp_sal_cursor;
迴圈語句一般有兩種
第一種
是我們最熟悉的for迴圈
for c in emp_sal_cursor loop
最後別忘記end loop;
第二種迴圈方式就是while迴圈
while emp_sal_cursor%found loop
end loop;
如何去建立乙個函式
create or replace function 函式的名字(這裡是傳入的引數)函式是有返回值的
create or replace procedure 儲存過程是沒有返回值的
create or replace trigger 這裡我的理解 觸發器是作用於表上的增刪改查的
希望不要噴我 謝謝
PL SQL語言 儲存過程 儲存函式
給變數賦值用 賦值 連線兩個字串用 連線,用加號是不好使的!str1 str2 str3 if 條件 then 業務邏輯 elsif 條件 then 業務邏輯 end if 其中的elsif需注意,並不是elseif。cursor c1 is select from emp where deptno...
PL SQL儲存過程
or replace 建立或替換,如果存在就替換,不存在就建立create or replace procedure piscursor cisselect from dept2 for update beginfor row record in c loopif row record.deptno...
pl sql 儲存過程
在這段時間的開發中資料庫用的是oracle以前用的都是mssql它們的儲存過程的寫法還有一點不一樣,所以花了一天的時間看了看!以下是我做的乙個小例子!create table mytesttable id number,name varchar2 10 insert into mytesttable...