Oracle

MySQL

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

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

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

VirutualBox上でOracle VM ServerをインストールするOracle VM Serverをインストールする時の備忘録です。英語のサイトを読み漁って少し悩んでしまいましたが、どうにかOracle VM ManagerからO...
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>sqlplus...
Oracle環境

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

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

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

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

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

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

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

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

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

Oracle11g Express Editionでスキーマを作成するOracle11g Express Editionでスキーマを作成します。sql*plusでログオンします。Microsoft Windows Copyright (c)...
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 Installer」を...
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 テーブル名 AUSING テーブル名 BON (結合条件)WHEN MATCHED THEN UPDATE SET カラム名A = ~WHEN NOT...
Oracle

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

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

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

オラクルでselectした結果を条件としてdeleteするオラクルでselectした結果を条件としてdeleteすることができます。例えばin句を使用して以下のようにdeleteします。DELETE テーブル名 AWHERE ID IN (...
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 ALLINTO テーブル名 (カラム名A,カラム名B) VALUES ...
Oracle

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

CREATE TABLE テーブル名 AS SELECT~で同じレイアウトのテーブルを作成するデータを一時的に退避したい時などにCREATE TABLE AS文を使用すると全く同じレイアウトのテーブルが別名で作成することができます。CREA...
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結果は以下のようになります。2015/...
Oracle

TRUNCATE失敗でORA-02266

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

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

ORA-02289 順序が存在しませんINSERT INTO テーブル名(ID,......) VALUES (シーケンス.NEXTVAL,......)こういうSQLを書いておいて、シーケンスを作成するのを忘れていたら、ORA-02289...
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文を使用します。テーブルに紐づくプライマリキー、コメント、外部キーも同時に削除されます。但し、削除しようとしているテーブルに対して外部キーがある場合はC...
Oracle

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

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

Oracleでテーブルを作成する

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

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

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

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

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

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

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

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

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

VIEW作成時のWITH READ ONLY

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

VIEW作成時のNOFORCE

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