忍者ブログ
JavaScript , Java , DOS , HTML(CSS) , JSP , SQL , VB , VBScript , ・・・etc などの覚書
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

あるテーブルB にあり テーブルA にないレコードをインポートする方法

OracleではMergeがあるが、取り込むカラムがキーの場合使用出来ない。
よって、以下の方法で行う。

USH_PJTNO がテーブルBのキー及び取り込みたいカラム
CODE がUSH_PJTNOを取り込み先

案1
INSERT INTO テーブルB(USH_PJTNO)
SELECT CODE
 FROM テーブルA
 WHERE WSNO=0 AND TERM_END='4712/12/31' AND CODE LIKE 'PJT%'
MINUS
SELECT USH_PJTNO
 FROM A_WBSPRJ_UNIT

案2
INSERT INTO テーブルB(USH_PJTNO)
SELECT A.CODE FROM テーブルA A
 WHERE NOT EXISTS (
 SELECT B.USH_PJTNO FROM テーブルB B
  WHERE A.CODE = B.USH_PJTNO
 ) AND A.WSNO=0 AND A.TERM_END='4712/12/31' AND CODE LIKE 'PJT%'


******MERGE*(参考 以下の場合、USH_PJTNOがキーの場合エラーになる)********

MERGE INTO テーブルB T
     USING テーブルA F
     ON ( T.USH_PJTNO = F.CODE AND F.WSNO=0)
WHEN MATCHED THEN
             UPDATE SET
         T.USH_PJTNO = F.CODE,
WHEN NOT MATCHED THEN
      INSERT (
         USH_PJTNO
         )
      VALUES (
         F.CODE
         )

PR
VBScriptとJavaScript の2つの方法を記載する。

●VBScript (SMTPサーバーが自分の場合)
Set oMsg = CreateObject("CDO.Message")
oMsg.From = "fromMail@dummy.co.jp"
oMsg.To = "toMail@dummy.co.jp"
oMsg.Subject = "Test "
oMsg.TextBody = "テストメッセージです" & vbCrLf & Now
oMsg.Send

●JScript (SMTPが自分でない場合)
var oMsg = WScript.CreateObject("CDO.Message");
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")= 2;
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")= "SMTPサーバ名";
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 25;
oMsg.Configuration.Fields.Update();
oMsg.From     = "fromMail@dummy.co.jp";
oMsg.To       = "toMail@dummy.co.jp";
//oMsg.CC       = "toMail@dummy.co.jp";
oMsg.Subject  = "タイトル";
oMsg.TextBody = "メールの本文";
oMsg.Send();


どちらも、スクリプトファイルとして保存し、コマンドプロンプト上から

cscript スクリプトのフルパス

で実行できる。
PL/SQLでメールを送付する方法

宛先
utl_smtp.rcpt(smtp, 'メールアドレス'); 

宛先の表示
utl_smtp.write_data(smtp, 'To:' || 'メールアドレス' ||chr(13) || chr(10));
2人以上の場合は、間に;(セミコロン)を入れ、続けて記載する。
utl_smtp.write_data(smtp, 'CC:' || 'メールアドレス' ||chr(13) || chr(10)); としてもOK

※事前にDBサーバーにSMTPを設定しておく必要あり

ダウンロード(zip)

Yahoo! UI ライブラリのカレンダーを使用していたが、ソースがでかく、さらに英語でわかりにくい。

日本人が作成したものを使用する。(ライセンス:修正BSD)

例(html)

  <html>
    <head>

      <script type="text/javascript" src="16jkl-calendar_IF.js" charset="Shift_JIS"></script>
      <script>
        var cal1 = new JKL.Calendar("calid","formid","colname");
      cal1.max_date = new Date();   //←選択できる日付のMAX値 今日より過去のものだけなど
 </script>

    </head>
    <body>
      <form id="formid" action="">
        <input type="text" name="colname" onClick="cal1.write();" onChange="cal1.getFormValue(); cal1.hide();"><br>
        <div id="calid"></div>
      </form>
    </body>
  </html>

参考

ダウンロード

 

【Cookieの書き込み】
document.cookie='searchCode=値';

【Cookieの読み込み】
function cookie_road(){
 article = document.cookie + ";";
 data_n = article.indexOf("searchCode",0);
 if(data_n!=-1){
   data2 = article.substring(data_n,article.length);
   start = data2.indexOf("=",0)+1;
   end = data2.indexOf(";",0);
   code = data2.substring(start,end);
 }else{
  code="";
 }
 return code;
}

ブログ内検索
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Copyright © [ moriBlog-memo ] All rights reserved.
Special Template : 忍者ブログ de テンプレート Special Thanks : 忍者ブログCommercial message : [PR]