TortoiseSVNで、あるリビジョンを比較して追加変更したファイルを見る

  1. リポジトリ配下のパスを右クリックして[Show log]
  2. 比較したいリビジョンをCTRLクリックで2つ選択してから右クリックして[Compare revisions]
  3. ActionにAdded/Modified/Deletedが表示してあるので何をしたのかがわかる
  4. 欲しいファイルを選択して右クリックして[Export selection to...]を選択すると階層を保持して取得できる

SI Object Browser for Oracleで実行計画でのエラー

SI Object Browserで実行計画ボタンをクリックしてSQL実行をクリックすると、

ORA-00911: 文字が無効です。

のダイアログが表示される。実行計画なしだと問題がないのに。 どうも、最後のセミコロン";"を削除すると動作するようだ。それこそ(;o;)な感じ。 これは、

https://www.sint.co.jp/siob_bbs/bbs_disp.asp?current_page=1&disp_mode=1&message_id=6508

と同じ現象(だけどエラー内容が違う)。バグらしい。。。

eclipseで複数ファイルの一括置換

  1. 左ペインで一括対象のフォルダを選択
  2. 「検索」->「ファイル」を選択
  3. 置換したいテキストを入力(正規表現あり・なしも選択する)
  4. 「ファイル名のパターン」に該当パターン(.java, .jspとか)を入力
  5. 「スコープ」で「選択されたリソースを選択」を選択して「置換」をクリック
  6. 表示したダイアログの「次と」に置換後の文字列を入力
  7. 「プレビュー>」で置換前後を表示できるので確認する
  8. 「OK」で置換実行

GoogleMaps APIもhttpsに

htmlでGoogleMaps API(v3 Keyなし)を使用しているけど、サイトをhttpsにしたところエラーになっていて表示できなくなっていた。 script要素でhttpで指定したためでこいつもhttpsに変更することで表示できるようになった。

<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&language=ja"></script>

Cortanaを無効にしてWindows検索に

作業端末としてWindows10を使用しているとタスクバーのCortanaが邪魔だったりする。 ただ単にPC内を検索したいだけなのにね。 なので無効にする。

  1. スタートボタンを右クリックして「ファイル名を指定して実行」を選択。
  2. gpedit.mscを入力してリターン。
  3. ローカルグループポリシーエディターが開くので、[コンピューターの構成]->[管理用テンプレート]->[Windowsコンポーネント]->[検索]を選択。
  4. [Cortanaを許可する]をダブルクリック。 f:id:kazuokohchi:20180707131538p:plain
  5. 初期値は[未構成]となっているので[無効]にする。 f:id:kazuokohchi:20180707131557p:plain
  6. PC再起動。

再起動後、タスクバーには虫眼鏡マーク(Windowsの検索)になっているはず。

SQLでFOR UPDATEを使って更新する例

セレクト結果の1レコードずつ更新したい場合の例。 以下を参照して作成。

SQL を繰り返し実行する

【ORACLE】日付の加算減算、時刻の加算減算

SET SERVEROUTPUT ON

DECLARE
  cursor CUR is SELECT ID,NAME,UPDATE_TIME
                  FROM テーブル名
                 WHERE '1000' <= ID AND ID <= '1999'
                   FOR UPDATE;
  vIndex NUMBER(10);
  vSingle VARCHAR(10);
  vMulti VARCHAR(30);
  vName テーブル名.NAME%TYPE;
  vRec CUR%ROWTYPE;
BEGIN
  vIndex := 1;
  OPEN CUR;
  LOOP
    FETCH CUR INTO vRec;
    EXIT WHEN CUR%NOTFOUND;
    
    vSingle := TO_CHAR(vIndex, 'FM0000');
    vMulti := TO_MULTI_BYTE(vSingle);
    vName := vRec.NAME || vMulti;
    SYS.DBMS_OUTPUT.PUT_LINE('ID=' || vRec.ID
        || ' 氏名=' || vRec.NAME
        || ' 更新時刻=' || TO_CHAR(vRec.UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS')
        || ' 更新時刻-30日=' || TO_CHAR(vRec.UPDATE_TIME-30, 'YYYY-MM-DD HH24:MI:SS')
        || ' SINGLE=' || vSingle
        || ' MULTI=' || vMulti);
    UPDATE テーブル名 SET NAME=vName WHERE CURRENT OF CUR;
    
    vIndex := vIndex + 1;
  END LOOP;

  COMMIT;
END;
/

PL/SQLのFORループで指定IDのデバッグ表示

テーブルのIDカラムが4桁(0000 .. 0009)の場合。

SET SERVEROUTPUT ON

DECLARE
  vID テーブル名.ID%TYPE;
  vName テーブル名.NAME%TYPE;
  vUpdateTime テーブル名.UPDATE_TIME%TYPE;
BEBIN
  FOR i IN 0 .. 9 LOOP
    vID := TO_CHAR(i, 'FM0000'); -- 4桁
    SYS.DBMS_OUTPUT.PUT_LINE('ID=' || vID);
    
    SELECT NAME,UPDATE_TIME
      INTO vName, vUpdateTime
      FROM テーブル名
     WHERE ID=vID;
    
    vName := vName || TO_MULTI_BYTE(vID); -- IDも全角変換
    SYS.DBMS_OUTPUT.PUT_LINE('氏名=' || vName || ' 更新時刻=' || vUpdateTime);
  END LOOP;
END;
/