Oracle のデフォルトを設定する方法について話し合う

PHPz
リリース: 2023-04-17 11:16:05
オリジナル
1610 人が閲覧しました

Oracle は、エンタープライズ アプリケーション、Web アプリケーション、クラウド コンピューティング プラットフォームで広く使用されている人気のリレーショナル データベース管理システムです。 Oracle を使用する場合、デフォルト値の設定は入力エラーを減らし、テーブル内の列にデフォルト値を提供することでデータの整合性と一貫性を向上させるのに役立つため、非常に重要です。この記事では、Oracle のデフォルトを設定する方法について説明します。

まず、Oracle のデフォルト値の概念を理解しましょう。デフォルト値とは、テーブルの作成時に列の初期値を指定することを指します。ユーザーが列の値を指定しない場合は、デフォルト値が使用されます。デフォルト値には、日付、文字列、数値、または現在の時刻、システム日付などの式などの固定値を指定できます。

Oracle のデフォルト値を設定するには、列レベルでデフォルト値を設定する方法と、グローバル レベルでデフォルト値を設定する方法の 2 つがあります。

列レベルでデフォルト値を設定する

テーブルを作成するときに、列レベルでデフォルト値を指定できます。たとえば、「employees」というテーブルを作成する例を次に示します。

CREATE TABLE employees (
  id NUMBER(10) PRIMARY KEY,
  name VARCHAR2(50) NOT NULL,
  email VARCHAR2(100) DEFAULT 'info@example.com',
  date_of_birth DATE DEFAULT SYSDATE
);
ログイン後にコピー

この例では、「email」列と「date_of_birth」列にそれぞれデフォルト値を設定しています。新しいレコードが挿入されるときに、「email」列と「date_of_birth」列に値が指定されていない場合は、デフォルト値が使用されます。すべての挿入ステートメントでデフォルト値を指定する必要はないことに注意してください。

デフォルト値を削除するには、次の構文を使用できます:

ALTER TABLE employees MODIFY email DEFAULT NULL;
ログイン後にコピー

この例では、「email」列のデフォルト値を削除しました。これには NULL 値を含めることができるようになりました。

グローバル レベルでのデフォルト値の設定

Oracle 12c 以降では、ALTER SESSION ステートメントを使用してグローバル レベルでデフォルト値を設定できます。このデフォルト値は、新しいテーブルのすべての列に適用されます。

たとえば、次の構文は、すべての新しいテーブルの列に適用されるグローバルなデフォルト値を設定します。

ALTER SESSION SET "_ORACLE_SCRIPT_DEFAULTS"='DEFAULT ON NULL';
ログイン後にコピー

次の構文を使用して、デフォルト値を NULL に戻すこともできます。

ALTER SESSION SET "_ORACLE_SCRIPT_DEFAULTS"='DEFAULT';
ログイン後にコピー

この方法を使用してデフォルト値を設定する場合は、特に注意する必要があることに注意してください。誤って使用すると、予期せぬ結果を引き起こす可能性があります。したがって、列レベルでデフォルト値を設定することをお勧めします。

結論

Oracle のデフォルト値は、データの整合性と一貫性の向上に役立ちます。デフォルト値を列に割り当てることで、入力エラーを回避し、テーブル全体でデータの一貫性を確保できます。 Oracle では、列レベルとグローバル レベルでデフォルト値を設定できます。デフォルト値を設定する場合は、正しい構文を使用し、予期しない結果を引き起こさないように注意してください。

以上がOracle のデフォルトを設定する方法について話し合うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!