plsql用法
① PLsql幾種循環語句用法
lsql中的三種循環
[sql]view plain
<codeclass="language-java">--while循環(條件成立時執行)
declare
pnumnumber:=1;
whilepnum<=10loop
dbms_output.put_line(pnum);
pnum:=pnum+1;
endloop;
end;
</code>
- --loop循環(條件成立時退出) declare pnum number:=1; begin loop --退出條件:循環變數大於10 exit when pnum>10; --列印該變數的值 DBMS_OUTPUT.PUT_LINE(pnum); --循環變數+1 pnum:=pnum+1; end loop; end;
- --for循環(1..10表示連續區間)declare punm number:=1;beginfor pnum in 1..10 loopdbms_output.put_line(pnum);end loop;end;
② plsql查詢語句中的not in什麼意思
查詢不在這個范圍類的數據。
例如:select * from student where classID notin (1,4,5)查出的就是classID不在1,4,5這個范圍內的數據。
不建議用not in這個關鍵詞來做查詢,理由:
1、效率低,2、在使用中容易出現問題,或查詢結果有誤
PL/SQL Developer是一個集成開發環境,專門開發面向Oracle資料庫的應用。PL/SQL也是一種程序語言,叫做過程化SQL語言(Proceral Language/SQL)。PL/SQL是Oracle資料庫對SQL語句的擴展。
在普通SQL語句的使用上增加了編程語言的特點,所以PL/SQL把數據操作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環等操作實現復雜的功能或者計算。MySQL 不支持 PL/SQL ,但支持Navicat Premium。
(2)plsql用法擴展閱讀:
plsql特性:
1、PL/SQL完善器
該完善器允許您通過用戶定義的規則對SQL和PL/SQL代碼進行規范化處理。在編譯、保存、打開一個文件時,代碼將自動被規范化。該特性提高了您編碼的生產力,改善了PL/SQL代碼的可讀性,促進了大規模工作團隊的協作。
2、SQL 窗口
該窗口允許您輸入任何SQL語句,並以柵格形式對結果進行觀察和編輯,支持按範例查詢模式,以便在某個結果集合中查找特定記錄。另外,還含有歷史緩存,您可以輕松調用先前執行過的SQL語句。該SQL編輯器提供了同PL/SQL編輯器相同的強大特性。
3、命令窗口
使用PL/SQL Developer的命令窗口能夠開發並運行SQL腳本。該窗口具有同SQL*Plus相同的感觀,另外還增加了一個內置的帶語法加強特性的腳本編輯器。這樣,您就可以開發自己的腳本,無需編輯腳本/保存腳本/轉換為SQL*Plus/運行腳本過程,也不用離開PL/SQL Developer集成開發環境。
參考資料來源:網路-plsql
③ 在plsql中,我想從表B中某欄位的數據,然後插入到A表中同一個人的另外一個欄位中
創建表、數據:
createtablelrp_driver
(oidvarchar2(5),
namevarchar2(20),
zhanghuvarchar2(20));
insertintolrp_drivervalues('00011','張三',null);
insertintolrp_drivervalues('00012','李四',null);
insertintolrp_drivervalues('00013','王五',null);
insertintolrp_drivervalues('00014','趙六',null);
createtablesys_operator
(codevarchar2(20),
drivervarchar2(5),
namevarchar2(20));
insertintosys_operatorvalues('zhangsan','00011','張三');
insertintosys_operatorvalues('zhangsan01','00021','張三');
insertintosys_operatorvalues('lisi','00012','李四');
insertintosys_operatorvalues('wangwu','00013','王五');
insertintosys_operatorvalues('zhaoliu','00014','趙六');
commit;
執行:
updatelrp_driveraseta.zhanghu=(selectmin(b.code)fromsys_operatorbwherea.name=b.name);
commit;
結果:
這個意思?
④ PL_sql如何執行oracle存儲過程
要成功執行這個存儲過程,你需要注意幾點:
1.select * from ods_area; 不能直接在pl/sql 中作為語句執行。
應該用 select 欄位 into plsql變數 from 表名;
的形式來獲取表中的數據,保存到plsql變數中。
2. 存儲過程的語法格式為:
create or replace procere area
is
--變數聲明;
begin
--過程主體;
end area;
3. 如果存儲過程代碼無誤,可以通過 "/" 來執行代碼,編譯存儲過程。
4.通過exec 或 execute 來調用編譯後的存儲過程。
例如:
-- 創建procere:
create or replace procere area
is
num number ;
v_areaRecord al%ROWTYPE;
begin
--例子1
select * into v_areaRecord from al;
--例子2
select 12345 into num from al;
end area;
/
-- 通過 / 執行;
--調用
exec area;
⑤ PLSQL存儲過程
存儲過程是 PLSQL 的一個方面的應用,而 PLSQL 是存儲過程的基礎。
即存儲過程需要用到 PLSQL
創建無參存儲過程 hello ,無返回值
語法:
刪除存儲 hello ,語法 drop procere 過程名
調用存儲過程方式一: exec 過程名
exec hello;
調用過程存儲方式二: PLSQL 程序
調用過程存儲方式三: Java 程序 CallableStatement 介面
創建有存儲過程的 raiseSalary (編號),為7369號員工漲工資10%,演示in的語法,大小寫不敏感
創建有參存儲過程 findEmpNameAndSalAndJob (編號),查詢7788號員工的姓名,職位,月薪,返回多個值,演示 out 的用法
用存儲過程,寫一個計算個人所得稅的功能