メモ
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
メモ [2017/04/03 00:04] – yajuadmin | メモ [2020/11/30 16:58] – yajuadmin | ||
---|---|---|---|
行 84: | 行 84: | ||
- | 戯言 - | + | ====== |
最初は、人形だよなと思ってだんだん見ていくと、なんかいいんですよね。\\ | 最初は、人形だよなと思ってだんだん見ていくと、なんかいいんですよね。\\ | ||
写真撮った人からの愛を感じますw\\ | 写真撮った人からの愛を感じますw\\ | ||
行 94: | 行 94: | ||
- | なぜ2時から5時までは3時間で、2日から5日までは4日間なのか? | + | ====== |
なぜ2時から5時までは3時間で、2日から5日までは4日間なのか?\\ | なぜ2時から5時までは3時間で、2日から5日までは4日間なのか?\\ | ||
http:// | http:// | ||
行 107: | 行 107: | ||
φ(.. )メモメモ | φ(.. )メモメモ | ||
- | VSTOで、Outlook COMアドインのセットアップ | + | ====== |
VSTOを使ったOutlook2003のアドインを開発したのですが、\\ | VSTOを使ったOutlook2003のアドインを開発したのですが、\\ | ||
http:// | http:// | ||
行 148: | 行 148: | ||
おかげで、やろうとした仕事がほとんど進まなかった、とほほ(T^T) | おかげで、やろうとした仕事がほとんど進まなかった、とほほ(T^T) | ||
- | 第2回静岡IT Pro勉強会 | + | ====== |
6月13日に行われた、第2回 静岡 IT Pro 勉強会が終了しました(^-^)\\ | 6月13日に行われた、第2回 静岡 IT Pro 勉強会が終了しました(^-^)\\ | ||
迷惑なメールの処理に要する費用は日本全体で年間7, | 迷惑なメールの処理に要する費用は日本全体で年間7, | ||
行 242: | 行 241: | ||
mixiの年賀状といえば、ピンときますでしょうか。\\ | mixiの年賀状といえば、ピンときますでしょうか。\\ | ||
静岡の企業だったんですね、応援しなきゃね。 | 静岡の企業だったんですね、応援しなきゃね。 | ||
- | |||
- | Oracle カーソルを引数で渡す | ||
- | ストアドでそれなりの処理を作成しているときに、カーソルを引数として共通化したい場合がある。\\ | ||
- | 単一テーブルのカーソルの引数の受け渡しなら下記サイトを参考に出来たんだけども\\ | ||
- | |||
- | Oracle カーソルを引数で渡したい。\\ | ||
- | http:// | ||
- | |||
- | |||
- | 売上テーブルと仕入テーブルなど複数テーブルからカーソルの引数の\\ | ||
- | 受け渡しをして、共通のテーブルにデータを更新したいといった場合、どうしたものかと考えて、下記方法を対処した。\\ | ||
- | もっといい方法があるかも知れないけど、とりあえず備忘録として記述\\ | ||
- | ※共通処理側で値チェックや計算処理などすることを想定\\ | ||
- | |||
- | CREATE OR REPLACE PACKAGE HOGE\\ | ||
- | IS\\ | ||
- | TYPE gencurtyp IS REF CURSOR; | ||
- | PROCEDURE TEST; | ||
- | PROCEDURE CUR_TEST(\\ | ||
- | gencurtyp_cv IN OUT gencurtyp\\ | ||
- | ); | ||
- | END;\\ | ||
- | /\\ | ||
- | CREATE OR REPLACE PACKAGE BODY HOGE\\ | ||
- | IS | ||
- | PROCEDURE TEST\\ | ||
- | IS | ||
- | generic_cv | ||
- | |||
- | BEGIN\\ | ||
- | |||
- | -- HOGEテーブルの定義に合わせる\\ | ||
- | OPEN generic_cv FOR\\ | ||
- | SELECT\\ | ||
- | ' | ||
- | ,20090620 AS YMD\\ | ||
- | FROM DUAL; | ||
- | -- HOGEテーブルに挿入\\ | ||
- | CUR_TEST(generic_cv); | ||
- | END TEST; | ||
- | -- カーソル引数により、HOGEテーブルに挿入\\ | ||
- | PROCEDURE CUR_TEST(\\ | ||
- | gencurtyp_cv IN OUT gencurtyp | ||
- | )\\ | ||
- | IS | ||
- | gencurtyp_rec HOGE%ROWTYPE; | ||
- | BEGIN | ||
- | FETCH gencurtyp_cv | ||
- | INSERT INTO HOGE(\\ | ||
- | CODE\\ | ||
- | , YMD\\ | ||
- | )\\ | ||
- | VALUES(\\ | ||
- | gencurtyp_rec.CODE\\ | ||
- | , gencurtyp_rec.YMD\\ | ||
- | ); | ||
- | END CUR_TEST; | ||
- | END HOGE;\\ | ||
- | |||
- | |||
- | Oracle トリガー処理 | ||
- | プロジェクト終盤になって、幾つかのマスタ系およびトランザクション系の更新ログを取りたいというユーザーから要望を受ける。\\ | ||
- | 十数本ある機能を今更修正するには時間もコストも無いってことで、検討した結果、トリガー処理を思いつく。\\ | ||
- | 今までトリガーの存在こそ知っていても、使う機会が残念ながら無かった、今回ちょうどいい勉強の機会であった。 | ||
- | ちなみに、トリガーとは表に対して何らかの変更処理(挿入、更新、削除)が加えられたとき、その変更処理をきっかけとして自動的に実行される特殊なストアドプロシージャのことです。\\ | ||
- | http:// | ||
- | 各ログには、画面からの処理モード(登録・更新・削除)を項目にセットする必要があるのだが、トリガー処理では、外部から引数を受け渡すことが出来ない、そこでログ用の一時表を作成し、処理モードをセットしてトリガー内で値を受け取るようにした。\\ | ||
- | 画面からのテーブル更新でなければ、一時表には何も書かれてないため直接DBを書き換えたと判断できる。\\ | ||
- | |||
- | 備忘録として記述\\ | ||
- | |||
- | ■サンプル\\ | ||
- | CREATE OR REPLACE TRIGGER M_HOGE_TRI\\ | ||
- | BEFORE INSERT OR DELETE OR UPDATE \\ | ||
- | ON M_HOGE\\ | ||
- | REFERENCING OLD AS OLD NEW AS NEW\\ | ||
- | FOR EACH ROW \\ | ||
- | DECLARE\\ | ||
- | | ||
- | | ||
- | BEGIN | ||
- | | ||
- | -- 画面から更新の場合は、一時表に値がセットされるが、\\ | ||
- | -- DBから直接の場合は、一時表に値が無い状態となる。 | ||
- | -- 一時表であるため、値取得不可の場合がある。\\ | ||
- | SELECT MODE_SHORI INTO MODE_NAME FROM W_LOG;\\ | ||
- | | ||
- | WHEN NO_DATA_FOUND THEN\\ | ||
- | | ||
- | END; | ||
- | IF INSERTING THEN\\ | ||
- | MODE_KBN := ' | ||
- | ELSIF UPDATING THEN\\ | ||
- | MODE_KBN := ' | ||
- | ELSIF DELETING THEN\\ | ||
- | MODE_KBN := ' | ||
- | END IF; | ||
- | IF INSERTING OR UPDATING THEN\\ | ||
- | -- 挿入 or 更新 内容をログに吐き出し\\ | ||
- | INSERT INTO L_HOGE\\ | ||
- | VALUES(\\ | ||
- | | ||
- | , MODE_KBN\\ | ||
- | , MODE_NAME\\ | ||
- | , SYSDATE\\ | ||
- | , :new.CODE\\ | ||
- | , :new.NAME\\ | ||
- | );\\ | ||
- | | ||
- | -- 削除 内容をログに吐き出し\\ | ||
- | INSERT INTO L_HANYO\\ | ||
- | VALUES(\\ | ||
- | | ||
- | , MODE_KBN\\ | ||
- | , MODE_NAME\\ | ||
- | , SYSDATE\\ | ||
- | , :old.CODE\\ | ||
- | , :old.NAME\\ | ||
- | );\\ | ||
- | END IF; | ||
- | END M_HOGE_TRI; | ||
- | |||
caspol.exeを使用したセキュリティポリシーの設定 | caspol.exeを使用したセキュリティポリシーの設定 | ||
行 439: | 行 316: | ||
</ | </ | ||
+ | {{:: | ||
+ | |||
+ | {{:: | ||
+ | {{:: |
メモ.txt · 最終更新: 2021/05/15 08:23 by yajuadmin