
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)
[ カテゴリー » SQL » PL/SQL ]
カテゴリー » SQL » PL/SQL January 27, 2011
PL/SQL ネストしたループ文から脱出する ID:1296087551
カテゴリー » SQL » PL/SQL January 27, 2011
PL/SQL パッケージ PACAGE BODY ID:1296087242
カテゴリー » SQL » PL/SQL January 27, 2011
コンポジット型 配列 PL/SQL ID:1296086762
例)
DECLARE
--varchar2(32)の索引を持つ、varchar2(15)の索引付きのhosttable_typeの宣言:15は、ipが3桁×4+ドットが3個
TYPE hosttable_type IS TABLE OF VARCHAR2(15) INDEX BY VARCHAR2(32);
--hosttable_typeを宣言
host_table hosttable_type;
ip_address VARCHAR2(15);
BEGIN
host_table('dbserver1') := '192.168.0.1';
host_table('dbserver2') := '192.168.0.2';
ip_address := host_table('dbserver1');--192.168.0.1が返却される
カテゴリー » SQL » PL/SQL January 21, 2011
PL/SQL DECLARE ID:1295577381
カテゴリー » SQL » PL/SQL January 18, 2011
PL/SQL で SELECT INTO を行なう ID:1295340407
PL/SQL で SELECT を行なうには SELECT 〜 INTO を使用して SELECT の結果を変数に代入する必要あり。
CREATE OR REPLACE PROCEDURE RIVUS.STEP01_SELECT
IS
vUserID USER_MASTER.USER_ID%TYPE;
vUserName USER_MASTER.USER_NAME%TYPE;
BEGIN
SELECT USER_ID, USER_NAME INTO vUserID, vUserName FROM USER_MASTER;
DBMS_OUTPUT.PUT_LINE('利用者IDは' || vUserID || 'です。');
DBMS_OUTPUT.PUT_LINE('利用者名は' || vUserName || 'さんです。');
END;
/
(しかし、このプログラムは抽出対象レコードが単一の場合しか使用できない)
http://www.shift-the-oracle.com/plsql/select.html
カテゴリー » SQL » PL/SQL January 17, 2011
Java で プロシージャ(PL/SQL)を使用する ID:1295237542
例)部門番号(DEPTNO)が10である社員の給与を2倍に増額(+100%)した後、1/2に減額(−50%)する
・プロシージャ
procedure give_raise (
p_deptno in number,
p_raise_percent in number )
as
begin
update emp set sal = sal + (sal * p_raise_percent * .01)
where deptno = p_deptno;
commit;
end give_raise;
・Java側
// CallableStatementを作成
sql_str2 = "{call GIVE_RAISE(?, ?)}";
cstmt = conn.prepareCall(sql_str2);
// INパラメータを設定 (給与を2倍に増額するよう設定します)
cstmt.setInt(1, 10);
cstmt.setInt(2, 100); // +100%
cstmt.executeUpdate();
// INパラメータを設定
cstmt.setInt(1, 10);(給与を1/2に減額するよう設定します)
cstmt.setInt(2, -50); // -50%
cstmt.executeUpdate();
http://www.atmarkit.co.jp/fjava/rensai/jdbc04/jdbc04_2.html
カテゴリー » SQL » PL/SQL January 17, 2011
PL/SQLの実行方法 ID:1295226231
カテゴリー » SQL » PL/SQL January 17, 2011
ストアドプロシージャとストアドファンクションの違い ID:1295225607
ストアドプログラム・・・・DBに格納されたプログラムのこと。
ストアドプロシージャとストアドファンクションがあり、
ストアドプロシージャは
1つの引数と1つの戻り値を持つ
PROCEDURE A(
i_param IN NUMBER,
o_param OUT NUMBER)
ストアドファンクション
FUNCTION A(
i_param IN NUMBER)
RETURN NUMBER
ストアドプロシージャはSQL内の関数として使えないので
Aをストアドプロシージャとすると
select A(1) FROM DUAL
のようなことができない。
こういうように使う場合は、戻り値が1個だとしても
ファンクションとして定義する必要あり。
最近のコメント