TortoiseSVNで、あるリビジョンを比較して追加変更したファイルを見る
- リポジトリ配下のパスを右クリックして[Show log]
- 比較したいリビジョンをCTRLクリックで2つ選択してから右クリックして[Compare revisions]
- ActionにAdded/Modified/Deletedが表示してあるので何をしたのかがわかる
- 欲しいファイルを選択して右クリックして[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
と同じ現象(だけどエラー内容が違う)。バグらしい。。。
Cortanaを無効にしてWindows検索に
作業端末としてWindows10を使用しているとタスクバーのCortanaが邪魔だったりする。 ただ単にPC内を検索したいだけなのにね。 なので無効にする。
- スタートボタンを右クリックして「ファイル名を指定して実行」を選択。
- gpedit.mscを入力してリターン。
- ローカルグループポリシーエディターが開くので、[コンピューターの構成]->[管理用テンプレート]->[Windowsコンポーネント]->[検索]を選択。
- [Cortanaを許可する]をダブルクリック。
- 初期値は[未構成]となっているので[無効]にする。
- PC再起動。
再起動後、タスクバーには虫眼鏡マーク(Windowsの検索)になっているはず。
SQLでFOR UPDATEを使って更新する例
セレクト結果の1レコードずつ更新したい場合の例。 以下を参照して作成。
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; /