Category Archives: oracle

「Oracle入門」スキーマ( CURRENT_SCHEMA)を変更する方法

1.デフォルトのスキーマを変更
SQL> ALTER SESSION SET CURRENT_SCHEMA=STUDENET_MANAGER ;

2.NLS環境変数 NLS_DATE_FORMATを変更
SQL> ALTER SESSION SET NLS_DATE_FORMAT = ‘DD-MON-YYYY HH24:MI:SS’;
SQL> SELECT SYSDATE FROM DUAL;

「Oracle入門」SELECT FOR UPDATEのサンプル

SQL構文
SELECT COL_W1,COL_W2 FROM CFT_TBL WHERE ROWNUM <= 500 FOR UPDATE SKIP LOCKED

「Oracle入門」現在日時を取得する方法

1.現在日時をTIMESTAMP型取得する
SELECT TO_CHAR(SYSTIMESTAMP, ‘YYYY/MM/DD HH24:MI:SS FF’) FROM dual

2.現在日時をDATE型で取得する
SELECT sysdate FROM dual;

「Oracle」タブ文字を出力する方法

SQL構文
SELECT B.ID, B.NAME||CHR(9)||B.ADDR,B.COMPANY
FROM ADDRESS_TBL B

「Oracle」triggerでカラムを更新するコード

サンプルコード

CREATE OR REPLACE TRIGGER trg_update_terminal_addr_hex

BEFORE UPDATE

ON r_tmnl_run

FOR EACH ROW

DECLARE

BEGIN

if(:old.TERMINAL_ID=:new.TERMINAL_ID)then

:new.terminal_addr_hex:=substr(:new.terminal_addr,1,4)|| lpad(trim(to_hex(substr(:new.terminal_addr,5,5))),4,’0′) ;

end if;

END;

「Oracle」triggerでカラムを追加するコード

サンプルコード

create or replace trigger trg_insert_terminal_addr_func

before insert

on r_tmnl_run

for each row

begin

:new.terminal_addr_hex:=substr(:new.terminal_addr,1,4)|| lpad(trim(to_hex(substr(:new.terminal_addr,5,5))),4,’0′) ;

END;

「Oracle」テーブルを排他モードでロックするサンプル

サンプル:
LOCK TABLE STUDENT_TBL
IN EXCLUSIVE MODE;

「Oracle」UPPER()、LOWER()の使用サンプル

サンプルコード
1.UPPER使用例

SELECT * FROM STUTBL WHERE UPPER(COLUMN1)= XXX
AND UPPER(COLUMN2)=XXX  ORDER BY XXX;

2.LOWER使用例

SELECT * FROM STUTBL WHERE LOWER(COLUMN1)= XXX
AND LOWER(COLUMN2)=XXX  ORDER BY XXX;

「oracle」テーブルの列制約の追加/削除メモ

1.テーブル「company」の列「company_name」にNOT NULL制約を追加する
alter table company modify company_name not null

2.テーブル「company」の列「manage_id」にDEFAULT値「119」を追加する
alter table company modify manage_id default ‘119’

3.テーブル「company」にプライマリキー「company_id」を追加する
alter table company add constraint pk_company primary key(company_id)

4.テーブル「company」の列「company_name」からNOT NULL制約を削除する
alter table company modify company_name null

5.テーブル「company」のプライマリキー(制約名「pk_company」)を削除する
alter table company drop pk_company

「Oracle」DBの文字コード、バージョンを確認するメモ

1.DBの文字コード確認
SELECT
PARAMETER,
VALUE
FROM
NLS_DATABASE_PARAMETERS
WHERE
PARAMETER IN (‘NLS_CHARACTERSET’, ‘NLS_NCHAR_CHARACTERSET’);

実行結果
——————————————————————————–
PARAMETER VALUE
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16

2.バージョン確認
select * from v$version;
BANNER
——————————————————————————–
Oracle Database 11g Release 11.2.0.4.0 – 64bit Production
PL/SQL Release 11.2.0.4.0 – Production
“CORE 11.2.0.4.0 Production”
TNS for Linux: Version 11.2.0.4.0 – Production
NLSRTL Version 11.2.0.4.0 – Production