Oracle

MySQL

集合関数と集約関数の違い SQL

集合関数と集約関数の違い SQL SQLの関数で、AVG,MAX,MINなどの関数は正式には集合関数ではなく集約関数といいます。 集約関数に対し、場合によっては複数行返す関数を集合関数といいます。 各DBの集約関数 PostgeSQL My...
Oracle

VirutualBox上でOracle VM Serverをインストールする

VirutualBox上でOracle VM Serverをインストールする Oracle VM Serverをインストールする時の備忘録です。英語のサイトを読み漁って少し悩んでしまいましたが、どうにかOracle VM Managerから...
DB2

Oracleで複数テーブルを同時にUPDATEする

Oracleで複数テーブルを同時にUPDATEする
Oracle

ORACLE Enterprise Managerからユーザを作成する

ORACLE Enterprise Managerからユーザを作成する ORACLE Enterprise Managerからユーザを作成します。 まず、ORACLE Enterprise Managerにログインします。 「ユーザー」をク...
Oracle

ORACLE Enterprise Managerから表領域を作成する

ORACLE Enterprise Managerから表領域を作成する ORACLE Enterprise Managerから表領域を作成します。 まず、ORACLE Enterprise Managerにログインします。 「サーバー」タブ...
Oracle

ORA-01653: 表スキーマ名.テーブル名を拡張できません(XXX分、表領域XXX)。

ORA-01653: 表スキーマ名.テーブル名を拡張できません(XXX分、表領域XXX)。 「ORA-01653: 表スキーマ名.テーブル名を拡張できません(XXX分、表領域XXX)。」と表示された場合、表領域が不足しているため、該当する表...
Oracle

Oracleでテーブルが属する表領域の確認や表領域の変更方法、また表領域の使用率の確認

Oracleでテーブルが属する表領域の確認や表領域の変更方法、また表領域の使用率の確認
Oracle

OracleでCREATE TABLEでテーブル作成する

OracleでCREATE TABLEでテーブル作成する OracleでCREATE TABLEでテーブル作成します。 まずCREATE TABLE権限を付与します。その次に表領域作成権限を付与します。 C:\Users\test>sqlp...
Oracle環境

Oracleでデータディクショナリを参照する権限を付与する

Oracleでデータディクショナリを参照する権限を付与する Oracleでデータディクショナリを参照する権限を付与します。 C:\Users\test>sqlplus /nolog SQL*Plus: Release 11.2.0.2.0 ...
Oracle

ORA-06531: 参照しているコレクションは初期化されていません。

ORA-06531: 参照しているコレクションは初期化されていません。 「ORA-06531: 参照しているコレクションは初期化されていません。」とオラクルエラーが出た場合、コレクションを初期化して上げる必要があります。 以下、サンプルです...
Oracle

Oracle11g Express Editionでディレクトリオブジェクトを作成する

Oracle11g Express Editionでディレクトリオブジェクトを作成する Oracle11g Express Editionでディレクトリオブジェクトを作成します。 PLSQLでファイルを作成する際にディレクトリオブジェクトが...
Oracle

Oracle11g Express Editionでプロシージャを作成する権限を付与する

Oracle11g Express Editionでプロシージャを作成する権限を付与する Oracle11g Express Editionでプロシージャを作成する権限を付与します。 まず、作成する権限を付与します。 grant creat...
Oracle

Oracle11g Express Editionでスキーマを作成する

Oracle11g Express Editionでスキーマを作成する Oracle11g Express Editionでスキーマを作成します。 sql*plusでログオンします。 Microsoft Windows Copyright ...
Oracle

Oracle11g Express Editionを使ってみる

Oracle11g Express Editionを使ってみる Oracle11g Express Editionを使ってみます。 インストールしたらデスクトップにアイコンができています。 アイコンをクリックします。するとウェブブラウザが起...
Oracle

Oracle11g Express Editionをインストールする

Oracle11g Express Editionをインストールする Oracle11g Express Editionをインストールします。 上記よりインストールします。 ダウンロードしたらsetup.exeをクリックします。 「次へ」を...
Oracle

Oracle11gをアンインストールする

Oracle11gをアンインストールする Oracle11gをアンインストールします。 昔はレジストリ削除など手動でしなくてはいけなかったので面倒でしたが今は簡単になりました。 「全てのプログラム」から「Universal Installe...
Oracle

Oracle11gをWindowsにインストールする

Oracle11gをWindowsにインストールする Oracle11gを以下からダウンロードします。 2つのファイルをダウンロードします。 1/2.zipを解凍します。次に2/2を解凍し、解凍したファイルを1/2で解凍したファイルに上書き...
Oracle

オラクルのimpとexpでダンプファイルの使い方

オラクルのimpとexpでダンプファイルの使い方 オラクルで良く使うimpとexpの使い方です。 まず現状のテーブルをエクスポートします。 exp ユーザID/パスワード file=data.dmp これをデータのみインサートすることがよく...
Oracle

ORA-01841: (周)年は-4713と+9999の間の0以外の数字を指定する必要があります

ORA-01841: (周)年は-4713と+9999の間の0以外の数字を指定する必要があります
Oracle

オラクルでテーブル名を変更する

オラクルでテーブル名を変更する オラクルでテーブル名を変更するには ALTER TABLE 現テーブル名 RENAME TO 新テーブル名 とします。
Oracle

オラクルでテーブルのカラムのNULL制約を解除

オラクルでテーブルのカラムのNULL制約を解除 オラクルでテーブルのカラムのNULL制約を解除します。 ALTER TABLE テーブル名 MODIFY (カラム名 NULL) NOT NULL制約を付けるには ALTER TABLE テー...
Oracle

オラクルでプライマリキー(PK)を設定する

オラクルでプライマリキー(PK)を設定する オラクルでプライマリキー(PK)を設定するDDL文です。 ALTER TABLE テーブル名 ADD CONSTRAINT PK名 PRIMARY KEY (カラム名1); 複合主キーといって複数...
Oracle

SQL*Loader-704: 内部エラー: ulconnect: OCIServerAttach [0]

SQL*Loader-704: 内部エラー: ulconnect: OCIServerAttach sqlldrをシェルで実行しようとすると SQL*Loader-704: 内部エラー: ulconnect: OCIServerAttach...
Oracle

オラクルでSELECT INSERTする方法

オラクルでSELECT INSERTする方法 オラクルでSELECT INSERTする構文です。 INSERT INTO テーブル名1 (カラム名1,カラム名2,カラム名3) SELECT カラム名4,カラム名5,カラム名6 FROM テー...
Oracle

オラクルのTRUNCATE構文

オラクルのTRUNCATE構文 オラクルのSQLでDELETEとTRUNCATEがありますが、TRUNCATEはロールバックできないので、DELETEよりも高速です。 TRUNCATEの構文は以下になります。 TRUNCATE TABLE ...
Oracle

Oracleのmerge文

Oracleのmerge文 Oracleのmerge文の記述方法です。 MERGE INTO テーブル名 A USING テーブル名 B ON (結合条件) WHEN MATCHED THEN UPDATE SET カラム名A = ~ WH...
Oracle

オラクルでSUMとNVLでデータがないときに0を返す

オラクルでSUMとNVLでデータがないときに0を返す
Oracle

オラクルでselectした結果を条件としてdeleteする

オラクルでselectした結果を条件としてdeleteする オラクルでselectした結果を条件としてdeleteすることができます。 例えばin句を使用して以下のようにdeleteします。 DELETE テーブル名 A WHERE ID ...
Oracle

Oracle SQLのパフォーマンスチューニング

Oracle SQLのパフォーマンスチューニング Oracle SQLのパフォーマンスチューニングについてです。 Oracleは内部的に大文字に変換する為、SQLは大文字で書きます。 COUNT(*)と書くより、COUNT(1)と書く方がパ...
Oracle

Selectした結果で複数列を更新する

Selectした結果で複数列を更新する
Oracle

SQL*Loaderの使い方

SQL*Loaderの使い方
Oracle

Oracleでパッケージ削除する方法

Oracleでパッケージ削除する方法 Oracleでパッケージを削除する方法です。 DROP PACKAGE BODY パッケージ名 これでボディ部を削除できます。 DROP PACKAGE パッケージ名 これでパッケージを削除することがで...
Oracle

INSERT ALLで1回のSQLで複数行インサートする方法

INSERT ALLで1回のSQLで複数行インサートする方法 INSERT ALLで1回のSQLで複数行インサートすることができます。 書き方は以下の通りです。 INSERT ALL INTO テーブル名 (カラム名A,カラム名B) VAL...
Oracle

CREATE TABLE テーブル名 AS SELECT~で同じレイアウトのテーブルを作成する

CREATE TABLE テーブル名 AS SELECT~で同じレイアウトのテーブルを作成する データを一時的に退避したい時などにCREATE TABLE AS文を使用すると全く同じレイアウトのテーブルが別名で作成することができます。 CR...
Oracle

Oracleで前月末日を求める

Oracleで前月末日を求める Oracleで前月末日を求めるSQLです。 SELECT TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1))) FROM DUAL 結果は以下のようになります。 2015/11/30
Oracle

Oracleで前月初日(1日)を求める

Oracleで前月初日(1日)を求める Oracleで前月初日(1日)を求めるSQLです。 SELECT TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-2))+1) FROM DUAL 結果は以下のようになります。 ...
Oracle

TRUNCATE失敗でORA-02266

TRUNCATE失敗でORA-02266 TRUNCATE失敗でORA-02266が発生することがあります。 これは外部キーが有効なためにおこります。 テーブルに対して有効な外部キーを検索するSQLです。 SELECT   CONSTRAI...
Oracle

ORA-02289 順序が存在しません

ORA-02289 順序が存在しません INSERT INTO テーブル名( ID, ... ... ) VALUES ( シーケンス.NEXTVAL, ... ... ) こういうSQLを書いておいて、シーケンスを作成するのを忘れていたら...
Oracle

Oracleでシーケンスを削除する

Oracleでシーケンスを削除する Oracleでシーケンスを削除するには、DROP SEQUENCE文を使用します。 DROP SEQUENCE シーケンス名
Oracle

Oracleでシーケンスを作成する

Oracleでシーケンスを作成する
Oracle

Oracleでテーブルを修正する

Oracleでテーブルを修正する Oracleのテーブルの列をNUMBERからVARCHAR2に変更したいなど、途中で定義を変更したい場合があります。 その場合、ALTER TABLE テーブル文を使用します。 ALTER TABLE テー...
Oracle

Oracleでテーブルを削除する

Oracleでテーブルを削除する Oracleでテーブルを削除するにはDROP TABLE文を使用します。 テーブルに紐づくプライマリキー、コメント、外部キーも同時に削除されます。 但し、削除しようとしているテーブルに対して外部キーがある場...
Oracle

Oracleのテーブルに外部キーを指定する

Oracleのテーブルに外部キーを指定する
Oracle

Oracleでテーブルを作成する

Oracleでテーブルを作成する Oracleでテーブルを作成するには、CREATE TABLE文を使います。 以下例です。 CREATE TABLE テーブル名 ( ID NUMBER(10) NOT NULL, UPDATE_DATE ...
Oracle

OracleのDate型に時分秒も登録する

OracleのDate型に時分秒も登録する OracleのDate型に時分秒も登録または更新するにはPreparedStatementのsetStringに「yyyyMMddhhmmss」形式のString型をセットすれば、yyyy/MM/...
Oracle

テーブルのカラムにコメントをつける

テーブルのカラムにコメントをつける テーブルのカラムにコメントをつける方法です。 COMMENT ON COLUMN テーブル名.カラム名 IS '~~コメント'
Oracle

テーブルの末尾にカラムを追加する

テーブルの末尾にカラムを追加する Oracleでテーブルの末尾にカラムを追加する方法です。 ALTER TABLE テーブル名 ADD( カラム名 VARCHAR(10) NULL )
Oracle

Oracleの同時接続最大セッション数

Oracleの同時接続最大セッション数 Oracleがつながらなくなったりした場合、最大セッション数を調べます。 SELECT * FROM V$LICENSE; SESSIONS_CURRENTカラムが現在の同時ユーザーセッション数で、S...
Oracle

VIEW作成時のWITH READ ONLY

VIEW作成時のWITH READ ONLY VIEW作成時にWITH READ ONLYを指定すると、読み取り専用のVIEWを作成します。 create view ビュー名 select ~ from ~ where ~ WITH REA...
Oracle

VIEW作成時のNOFORCE

VIEW作成時のNOFORCE VIEW作成時にNOFORCEを指定すると、エラーがあった場合はVIEWを作成しません。 CREATE OR REPLACE NOFORCE VIEW ~ というように記述します。