Oracle ストアド プロシージャの基本構造には何が含まれますか?
Oracle ストアド プロシージャの構造は、1. 処理宣言、2. 実行処理部分、3. ストアド プロシージャ例外の 3 つの部分で構成されますが、スクリプトのフォールト トレランスを強化する場合、およびストアド プロシージャの例外部分は省略できます。例外処理を記述するだけでデバッグが容易になります。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
ストアド プロシージャとは何ですか?
ストアド プロシージャ: Baidu Encyclopedia で説明されています。ストアド プロシージャ (Stored Procedure) は大規模なデータベース システムで使用されます。 , 特定の関数を完了するための SQL ステートメントのセットがデータベースに保存されます。最初のコンパイル後、再度呼び出すときに再度コンパイルする必要はありません。ユーザーはストアド プロシージャの名前を指定し、パラメータを指定します (ストアド プロシージャの場合は、プロシージャにはパラメータがあります) ) を使用してストアド プロシージャを呼び出します。
簡単に言うと、これは 1 つのことを具体的に実行する SQL ステートメントです。
データベース自体または Java プログラムによって呼び出すことができます。
Oracle データベースのストアド プロシージャはプロシージャです。
ストアド プロシージャの構造
(1) 基本構造
Oracle ストアド プロシージャには 3 つの部分が含まれます:処理宣言、実行処理部分、ストアドプロシージャ例外(記述してもしなくてもよい、スクリプトのフォールトトレランスやデバッグの利便性向上のため、例外処理を記述する)
(2) No-パラメータ ストレージ プロシージャ
/** name_procedure就是自己自定义的存储过程名 */ create or replace procedure name_procedure AS/IS 变量名1 数据类型; 变量名2 数据类型; BEGIN --要处理的业务逻辑 EXCEPTION --存储过程异常 END name_procedure;
(3). パラメータ ストアド プロシージャ
通常のパラメータ ストアド プロシージャ
/* age 类型为number 初始化为20; */ CREATE OR REPLACE PROCEDURE name_procedure (param1 TYPE) AS/IS name varchar(20); age number :=20; BEGIN --业务处理..... END ;
パラメータと代入を含むストアド プロシージャ
CREATE OR REPLACE PROCEDURE 存储过程名称( s_no in varchar, s_name out varchar, s_age number) AS total NUMBER := 0; BEGIN SELECT COUNT(1) INTO total FROM student s WHERE s.age=s_age; dbms_output.put_line('符合该年龄的学生有'||total||'人'); EXCEPTION WHEN too_many_rows THEN DBMS_OUTPUT.PUT_LINE('返回值多于1行'); END
パラメータ IN は入力パラメータを表し、パラメータのデフォルト モードです。
OUT は戻り値パラメータを表し、その型は Oracle の任意の有効な型を使用できます。
- #OUT モードで定義されたパラメータはプロセス本体内でのみ割り当てることができます。つまり、パラメータは呼び出し元のプロセスに特定の値を渡すことができます
- IN OUT は、パラメーターがプロセスに値を渡すことができる、または特定の値を渡すことができることを意味します。
ストアド プロシージャの構文
(1)演算子
(2) SELECT INTO STATEMENTステートメント
- クエリ結果を 1 つの変数または複数の変数に割り当てます
CREATE OR REPLACE PROCEDURE DEMO_CDD1 IS s_name VARCHAR2; --学生名称 s_age NUMBER; --学生年龄 s_address VARCHAR2; --学生籍贯 BEGIN --给单个变量赋值 SELECT student_address INTO s_address FROM student where student_grade=100; --给多个变量赋值 SELECT student_name,student_age INTO s_name,s_age FROM student where student_grade=100; --输出成绩为100分的那个学生信息 dbms_output.put_line('姓名:'||s_name||',年龄:'||s_age||',籍贯:'||s_address); END
#
//if 后面一定要添加THEN 相当于Java中的 大括号 IF s_sex=1 THEN dbms_output.put_line('这个学生是男生'); ELSE IF THEN dbms_output.put_line('这个学生是女生'); ELSE dbms_output.put_line('这个学生性别错误'); END IF
LOOP IF 表达式 THEN EXIT; END IF END LOOP;
WHILE 表达式 LOOP dbms_output.put_line('haha'); END LOOP;
//a 1 到 20 范围 FOR a in 10 .. 20 LOOP dbms_output.put_line('value of a: ' || a); END LOOP;
Oracle チュートリアル
」以上がOracle ストアド プロシージャの基本構造には何が含まれますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ストアドプロシージャは、データベースに保存できるSQLステートメントのセットであり、別のユニットと繰り返し呼ぶことができます。パラメーター(in、out、inout)を受け入れ、コードの再利用、セキュリティ、パフォーマンス、モジュール性の利点を提供できます。例:ストアドプロシージャを作成して、2つの数値の合計を計算してOUTパラメーターに保存します。

Oracle Environment Variable Configuration Guide:Oracle_home Environment変数を作成し、Oracle Home Directoryを指します。 Oracle Binary DirectoryをPath Environment変数に追加します。 TNS_ADMIN環境変数を設定します(ファイルがTNSを使用して命名されている場合)。環境変数の設定を検証して、出力が設定変数を表示していることを確認します。

ALTER TABLEステートメントを使用して、特定の構文は次のとおりです。ALTERTABLE TABLE_NAME add column_name data_type [constraint-clause]。 WHERE:table_nameはテーブル名、column_nameはフィールド名、data_typeはデータ型、制約条項はオプションの制約です。例:テーブルの従業員を変更すると、電子メールvarchar2(100)は、従業員テーブルに電子メールフィールドを追加します。

Oracleは複数の重複排除クエリメソッドを提供します。個別のキーワードは、各列の一意の値を返します。 Group by Clauseは、結果をグループ化し、各グループの非繰り返し値を返します。一意のキーワードは、一意の行のみを含むインデックスを作成するために使用され、インデックスをクエリすると自動的に重複排除が行われます。 row_number()関数は、一意の数値を割り当て、行1のみを含む結果をフィルタリングします。min()またはmax()関数は、数値列の非繰り返し値を返します。交差する演算子は、2つの結果セットの共通値を返します(複製なし)。

データインポート方法:1。SQLLOADERユーティリティを使用します。データファイルを準備し、制御ファイルを作成し、SQLLoaderを実行します。 2。IMP/EXPツールを使用します。データをエクスポートし、データをインポートします。ヒント:1。ビッグデータセットに推奨されるSQL*ローダー。 2。ターゲットテーブルが存在する必要があり、列定義が一致します。 3。インポート後、データの整合性を検証する必要があります。

Oracle Garbledの問題は、データベース文字セットをチェックしてデータと一致するようにすることで解決できます。データベースに一致するようにクライアント文字を設定します。データを変換するか、列文字セットを変更してデータベース文字セットに一致させます。 Unicode文字セットを使用して、マルチバイト文字セットを避けます。データベースとクライアントの言語設定が正しいことを確認してください。

主キーは、テーブル内の各行を一意に識別する特別な列または列の組み合わせです。テーブル内のレコードが一意であり、次のように作成できることが保証されます。AlterTableステートメントを使用してテーブル名を指定します。プライマリキーキーワードを追加して、列名を追加して、プライマリキーとして指定します。主なキーの制約は、データの一意性を確保し、クエリ速度を改善し、レコードの重複を防ぎ、テーブル結合を簡素化するのに役立ちます。

Oracleテーブルでフィールド名を変更する手順は次のとおりです。データベースに接続します。 Alter Tableステートメントを使用して、フィールド名を変更します。テーブル名と古いフィールド名を指定します。新しいフィールド名を指定します。変更を送信します。
