資料庫基礎系列之五 PL SQL入門 2

2021-06-25 12:10:27 字數 2520 閱讀 1135

//

比較零碎,先記下了,以後再系統地去學習

1.在儲存過程中使用游標返回結果集:

(1)包:

create or replace package pkg_returnset

astype mycurtype is ref cursor;

end;

(2)儲存過程:

create or replace procedure sp_returnset(p_result out pkg_returnset.mycurtype)

asbegin

open p_result for 'select * from alarminfo';

end;

(3)程式:

static void main(string args)

oracleconnection conn = new oracleconnection("……");

tryoraclecommand cmd = new oraclecommand();

cmd.connection = conn;

cmd.commandtype = commandtype.storedprocedure;

cmd.commandtext = "sp_returnset";

oracleparameter p = new oracleparameter("p_result", oracletype.cursor);

p.direction = parameterdirection.output;

cmd.parameters.add(p);

oracledataadapter da = new oracledataadapter(cmd);

dataset ds = new dataset();

da.fill(ds);

for (int i = 0; i < ds.tables[0].rows.count; i++)

console.writeline(ds.tables[0].rows[i]["obj_id"].tostring());

catch (exception x)

console.writeline(x.message);

finally

if (conn.state == connectionstate.open)

console.read();

2.

游標引數:

declare

cursor cur_1(p_stationid varchar2) is

select * from mytable where id= p_stationid;

begin

for v_row in cur_1('dmz1') loop

dbms_output.put_line(v_row.name);

end loop;

end;

((1)

在游標for

迴圈中,游標的開啟、獲取、關閉都是隱含地進行,不需要你書寫顯式的**來執行。

(2)變數

v_row

無須顯式地宣告。)

3.

另一些pl/sql

簡單概念:

(1)pl/sql**組織而成「塊」,如果你建立儲存過程或包,那麼它是乙個「命名塊」,否則,稱為「匿名塊」。

pl/sql塊包含三個部分:(1)

宣告:定義及初始化變數及游標,(2)

可執行命令:使用流程控制關鍵字來執行命令並將值賦於已宣告的變數,(3)

異常處理。如下:

declare

begin

exception

end;

(2)流程控制

(if):

if……then

elsif……then

else

end if;

(3)流程控制(迴圈

):簡單迴圈:迴圈直到遇到exit或exit when

for迴圈:迴圈執行指定次數

while迴圈:在符合條件下迴圈

--------------------------------------

loop

exit when ……;

end loop;

--------------------------------------

for radius in 1..7 loop

area:=pi*power(radius,2);

insert into areas values(radius,area)

end loop;

--------------------------------------

while radius<=7 loop

end loop;

(4)流程控制

(case):

case when …… then

when …… then

else ……;

end case;

資料庫基礎系列之五 PL SQL入門 2

比較零碎,先記下了,以後再系統地去學習 1.在儲存過程中使用游標返回結果集 1 包 create or replace package pkg returnset astype mycurtype is ref cursor end 2 儲存過程 create or replace procedur...

資料庫 pl sql基礎

1.語義 procedure language structure query language 2.基本語法 declare 區域性變數 資料型別 區域性變數 資料型別 預設值 區域性變數 資料型別 default 預設值 begion 執行語句 exception end 3.邏輯處理 if e...

MYSQL資料庫學習系列五

mysql資料庫學習系列五五 mysql運維實踐 5.1 mysql日誌系統 什麼是日誌 日誌 log 是一種順序記錄事件流水的檔案 記錄計算機程式執行過程中發生了什麼 多種多樣的用途 o幫助分析程式問題 o分析服務請求的特徵 流量等 o判斷工作是否成功執行 o等等 mysql日誌的分類 伺服器日誌...