はじめに
Oracle LiveSQLは、Oracle12cデータベースインスタンスへのアクセスを提供するクラウドベースのサービスです。このデータベースを使用すると、サーバーやローカルPCに何もインストールしなくても、Oracle12cデータベースの多くの機能を試すことができます。 LiveSQLは、Structured Query Language(SQL)およびPL / SQL(OracleのSQLに対する手続き型言語拡張)を使用してOracleデータベースをプログラミングする方法を学習する場合に特に役立ちます。
LiveSQLには、実験用のデータベーススキーマをすばやく作成するために実行できるSQLステートメント(データベーススクリプト)のコレクションをアップロードする機能もあります。
LiveSQLの主な制限は、セッション中に送信できるSQLステートメントは2,000個のみであるということです。通常、これはSQLおよびOracle PL/SQLプログラミングの学習に対応するには十分すぎるほどです。
前提条件
LiveSQLを使用するには、インターネットアクセスとWebブラウザのみが必要です。それを最大限に活用するには、構造化照会言語(SQL)を少し理解する必要があります。 SQLスクリプト(ステートメントのセット)がある場合は、これらをアップロードしてデータベースに対して実行することもできます。
まだアカウントを持っていない場合は、OracleWebサイトの無料アカウントも作成する必要があります。
OracleLiveSQLへのログイン
開始するには、Webブラウザを開き、Oracle LiveSQL Webサイト(https://livesql.oracle.com/
)にアクセスします。以下に示すように、Webページが表示されたら、サインインをクリックします。 右上隅のボタン。
Oracle Webサイトのユーザー名とパスワードを既にお持ちの場合は、今すぐこれを入力して、サインインをクリックしてください。 ボタン。アカウントをお持ちでない場合は、手順に従って、適切なアカウントの作成をクリックしてアカウントを作成してください。 ボタン。
ログインすると、LiveSQLホームページが次のように表示されます。
SQLステートメントは、次のページで説明するSQLワークシートを使用して記述できます。
SQLワークシートを使用したSQLステートメントの実行
SQLステートメントの記述をすぐに開始するには、SQLワークシートをクリックします。 左側のカテゴリ。新しいSQLウィンドウが表示されます。
この時点で、任意のSQLステートメントをSQLワークシートに入力できます。この例では、単純なEmployeeテーブルを作成します(EMPLOYEE、DEPARTMENT、およびDEPENDENTのテーブルを使用するOracle SQL * Plusチュートリアルから)
CREATE TABLE employee (employeeid VARCHAR2(9) NOT NULL, fname VARCHAR2(15), minit VARCHAR2(2), lname VARCHAR2(15), bdate DATE, address VARCHAR2(35), gender VARCHAR2(1), salary NUMBER(7) NOT NULL, superempid VARCHAR2(9), dno NUMBER(2) NOT NULL) ;
上記のコードをコピーしてSQLワークシートに貼り付けます。
現在のSQLステートメントを実行するには2つの方法があります。 実行をクリックすると、現在のステートメントを実行できます。 ページの右上隅にあるボタン。 2番目の方法は、SQLステートメントを強調表示してから、Control-Enterキーを押すことです。
CREATE TABLEステートメントを実行すると、結果がSQLワークシートの下に表示されます。この場合、結果はテーブルが作成されたことです。
次に、ALTERTABLEステートメントを使用してEMPLOYEEテーブルに制約を追加できます。
ALTER TABLE employee ADD CONSTRAINT pk_employee PRIMARY KEY (employeeid);
この場合、結果としてテーブルが変更されます:
この時点で、SQLINSERTステートメントを使用していくつかのデータをEmployeeテーブルに追加できます。
INSERT INTO EMPLOYEE VALUES ('123456789', 'JOHN','B','SMITH','09-JAN-1975','731 FONDREN, HOUSTON, TX', 'M',30000, '333445555', 5) ; INSERT INTO EMPLOYEE VALUES ('333445555','FRANKLIN','T','WONG','08-DEC-1965','638 VOSS,HOUSTON TX', 'M',40000,'888665555',5) ; INSERT INTO EMPLOYEE VALUES ('999887777','ALICIA','J','ZELAYA','19-JUL-1978','3321 CASTLE, SPRING, TX', 'F',25000,'987654321',4) ; INSERT INTO EMPLOYEE VALUES ('987654321','JENNIFER','S','WALLACE','20-JUN-1951','291 BERRY, BELLAIRE, TX', 'F',43000,'888665555',4) ; INSERT INTO EMPLOYEE VALUES ('666884444','RAMESH','K','NARAYAN','15-SEP-1972','975 FIRE OAK, HUMBLE, TX', 'M',38000,'333445555',5) ; INSERT INTO EMPLOYEE VALUES ('453453453','JOYCE','A','ENGLISH','31-JUL-1982','5631 RICE, HOUSTON, TX', 'F',25000,'333445555',5); INSERT INTO EMPLOYEE VALUES ('987987987','AHMAD','V','JABBAR','29-MAR-1979','980 DALLAS, HOUSTON, TX', 'M',25000,'987654321',4) ; INSERT INTO EMPLOYEE VALUES ('888665555','JAMES','E','BORG','10-NOV-1947', '450 STONE, HOUSTON, TX', 'M',55000,NULL,1) ;
いくつかのデータが揃ったら、テーブルに対していくつかのクエリを実行できます。たとえば、次のSQLクエリは、部門4で働くすべての従業員を検索します。
SELECT * FROM employee WHERE dno = 4;
次のクエリでは、SQL集計関数を使用して、すべての従業員の平均給与を検索します。
SELECT AVG(salary) As Average_Salary FROM employee;
一部のSQLステートメントが入力されて実行されたので、それらをスクリプトとして保存できます。これらの手順については、次のページで説明します。
現在のSQLワークシートをスクリプトとして保存する
この時点で、SQLステートメントのコレクションがSQLワークシートに入力されています。 SQLステートメントをスクリプトとして保存するには、保存をクリックします。 右上隅のボタン。
スクリプトの名前と(オプションで)説明を入力します。可視性をプライベート、非公開、またはパブリックのいずれかに設定します。次に、セッションをスクリプトとして保存をクリックします ボタン。
スクリプトが保存されたら、マイスクリプト スクリプトの詳細が記載されたページが表示されます:
この時点で、スクリプト全体を編集、共有、削除、ダウンロード、または実行できます。 SQLワークシートに戻るには、SQLワークシートをクリックします。 左側のアイテム。
既存のデータベーススキーマは、スキーマエクスプローラーを使用して表示できます。これについては次のページで説明します。
データベーススキーマの調査
スキーマ内のすべてのテーブルとその他のオブジェクトを表示するには、スキーマをクリックします。 ページの左側にあるアイテム。すべてのスキーマオブジェクトを一覧表示する必要があります。
この例では、Employeeテーブルのみが作成されました。この表の詳細を表示するには、エントリをクリックしてください。
下にスクロールして、インデックス、トリガー、制約などの追加のプロパティを表示します。
既存のデータベースオブジェクトを編集したり、新しいテーブルやその他のオブジェクトを作成したりできます。
現在のセッションをリセットする
マイセッション エリアには、この現在のセッションでスキーマに対して実行されたすべてのSQLステートメントの履歴が表示されます。
スキーマから既存のすべてのテーブル、トリガー、ストアドプロシージャなどをクリアするには、セッションのリセットをクリックします。 ボタン。これを行うのは、すでにすべてを保存している場合、またはデータベースオブジェクトを保持する必要がない場合のみです。
次のセクションでは、新しいスクリプトをアップロードして実行し、アプリケーションの新しいテーブルセットを作成します。
スクリプトの操作
CUSTOMER、ORDER、ORDER_ITEMS、およびPRODUCT_INFORMATIONテーブルを含むOracle Order Entryスキーマ(OE)の一部を作成するためのスクリプト。
開始するには、マイスクリプトをクリックしてください ページの左側にあるアイテム。
新しいスクリプトをアップロードするには、赤いスクリプトのアップロードをクリックします ページの右上隅にあるボタン。 アップロードスクリプト 以下のようなダイアログボックスが表示されます。
ファイルの選択をクリックします ボタンをクリックしてダイアログボックスを開きます。ローカルコンピュータの適切なフォルダに移動し、スクリプトファイルの名前を強調表示して、[開く]をクリックします。 ボタン。
スクリプトの名前とオプションの説明を指定します。完了したら、赤いスクリプトのアップロードをクリックします ボタン。
マイスクリプトをクリックします メニュー項目を再度更新すると、新しいスクリプトがリストに表示されます。
スクリプトの名前をクリックして開きます。
赤いスクリプトの実行をクリックします スクリプトを実行するためのボタン。
エラーがある場合は、マイセッションをクリックします アイテムを選択し、リストでエラーを検索します。必要に応じて、現在のセッションをリセットし、スクリプトを編集してから、スクリプトを再実行します。
注文入力スキーマのクエリ例
SQLワークシートをクリックして、サンプルクエリをいくつか試してください。 ページの左側にあるアイテム。
SELECT c.cust_last_name, c.cust_address.city FROM customers c WHERE c.credit_limit > 1000;
次のクエリは、state_province
でグループ化されたアメリカの顧客の平均クレジット制限をまとめたものです。
SELECT c.cust_address.state_province, AVG(c.credit_limit) AS Average_Credit_Limit FROM customers c WHERE c.nls_territory = 'AMERICA' GROUP BY c.cust_address.state_province ORDER BY c.cust_address.state_province;