2012-03-21 12 views
24

Oracleには強力な命令型言語であるPL/SQLがあります。 MySQLに似たものはありますか?PL/MySQLは存在しますか?

+1

具体的にお願いします。どのような機能をお探しですか? –

答えて

2

PL/SQLオラクルに特定のストアドプロシージャ言語です。異なるデータベースは、ストアドプロシージャに異なる言語を使用します。ストアドプロシージャの詳細についてはのドキュメントpageを参照してください。

+0

私はあなたが "pl/sql for mysql"をgoogledしているのを見て、最初の結果と同じように見ました。おそらくOPは次回試してみるべきです:-) – Travesty3

+0

Googleの結果と同じかどうかを確認してください。 –

+0

おっと、私はリンクをチェックしていない。それを修正するためのあなたに良い。 – Travesty3

14

MySQLは同様の構成要素を持っていますが、いや、あなたは、MySQLでPL \ SQLを使用することはできません。同じことがMS SQL Serverで使用されるT-SQLにも当てはまります。

MySQLは、私はYahoo!知恵袋を参照するために憎むようat their website.

としてくらいのドキュメントがたくさんある、良い説明Here

がありますあなたは、そのPL \ SQLとT-の両方が表示されますSQLはTuring-completeであり、おそらく多少の機能を提供するでしょう。しかし、MySQLには同様のタスクを実行する方法がたくさんあります。ここ

Yahooからのコンテンツはポスト回答である:

MySQLはマルチスレッド、マルチユーザーSQLデータベース管理システム (DBMS)である1た、のMySQL ABによると、1000万人以上 インストール。

MySQLデータベースにアクセスするためのライブラリは、言語固有のAPIを使用しているすべての主要プログラミング言語 で利用できます。さらに、 MyODBCと呼ばれるODBCインターフェイスを使用すると、ODBCインターフェイスをサポートする追加のプログラミング言語 がMySQLデータベース(ASPまたはColdfusionなどの )と通信できるようになります。 MySQLサーバと公式ライブラリは ほとんど

MySQLは する(Linux/Mac用/ Windowsの-Apache-、MAMP、およびWAMPプラットフォームLAMPのデータベース コンポーネントとしてWebアプリケーションや行為に人気のあるANSI Cで実装されていますMySQL-PHP/Perl ...そしてオープンソースのバグ はBugzillaのようなツールを追跡しています.Webアプリケーションとしての人気は で、多くの場合、 と組み合わされたPHPの人気に結びついています。 WordPress blogging platformを実行するために。

以下の機能は、M YSQLではなく、他のいくつかの のRDBMSによって:

  • 複数のストレージエンジンは、アプリケーション内の各テーブルのための最も効果的なものを選択することができますが(MySQLの5.0で、 ストレージエンジンはでコンパイルする必要があります。 MySQL 5で。1、ストレージエンジンは、実行時に動的にロードされる ):○ネイティブストレージエンジン(MyISAM、 ファルコン、マージ、メモリ(ヒープ)、フェデレーション、アーカイブ、CSV、ブラックホール、 クラスタ) - パートナが開発したストレージエンジンInnoDBは、solidDBの、NitroEDB、BrightHouse) -community-開発ストレージエンジン
  • カスタムストレージエンジン
  • 毎秒コミットの数を増加させるために一緒に複数の接続から複数のトランザクションを集める、グルーピングをコミット。

注意:: MySQLはCとC++で書かれています。 SQLパーサーは、yaccと 自家製のレクサーを使用します。内部コード の構造の一部とコーディングガイドラインを記述した文書は、 MySQL Webサイトから入手できます。一般に、構造化照会言語として展開

SQL


SQL、 リレーショナルデータベース管理システム、データベース・スキーマの作成および 変形例におけるデータの検索および管理のために設計されたコンピュータ 言語であり、そしてデータベースオブジェクトアクセス制御管理。

SQL言語は、いくつかの言語要素に細分され、含む :

  • スキーマとデータの永続効果を有していてもよく、またはトランザクションを制御することができる書類、プログラムフロー、接続、 セッション、または診断。
  • 特定の条件に基づいてデータを取得するクエリ。
  • データの列と行からなるスカラー値または表のいずれかを生成する式。
  • SQL 3値論理(3VL)ブール値に評価できる条件を指定する述語は、文およびクエリの効果を制限するか、または フローを変更するために一般的に使用されます( )。それは下に動作

文の構成成分(一部のオプションの場合)であり、照会

  • 句..クエリデータ操作データdefinationの概念 トランザクション制御

    SQL:2003標準は SQLのすべての部分に若干の変更を行います1999年、正式のようないくつかの新機能が導入されています1

    • をXML-関連機能
    • 窓関数標準化された配列
    • 二つの新しい列タイプ可能
    • シーケンス発生器、:自動生成された値とI dentity-列
    • 新しいMERGE文と不完全に実装さ "BIT" の
    • 除去し、 "BITのVARYING" "LIKE CREATE TABLE" を "AS CREATE TABLE" を可​​能にするために、CREATE TABLE文をへ
    • 拡張データ型

    PL/SQL


    PL/SQLはにオラクル社独自のサーバーベースの手続き拡張機能ですSQLデータベース言語。 (一部の他のSQLデータベース管理システム はPL/SQLに似た言語を提供しています)。その構文はAdaの と非常に似ています。

    PL/SQLは、変数、条件、配列および例外をサポートしています。 Oracle RDBMSのバージョン8以降の実装では、オブジェクト指向に関連付けられた機能が に含まれています。

    基本SQLは宣言型言語として機能します。標準 SQL - いくつかの関数型プログラミング言語と異なり、 の実装では、テールコールをジャンプに変換する必要はありません。 SQLは簡単に "最初の行"と "残りのテーブル"アクセサを提供していませんし、 ループのようないくつかの構造を簡単に実行することはできません。しかし、PL/SQLは、 という補完的な手続き型言語として、これらのギャップを埋めるため、 Oracleデータベース開発者は、基本的なリレーショナル データベースとのインタフェースを必須としています。 SQL文で明示的に のPL/SQLファンクションをコールするか、あらかじめ定義されたDML(Data Manipulation Language)イベントに応じて にPL/SQLトリガーを起動させることができます。 DMLを実行するPL/SQLストアド・プロシージャ(ファンクション、プロシージャ、パッケージ、および トリガー)は、Oracleデータベースにコンパイルされます。プログラマ は、Oracleデータベース環境で作業すると、プロシージャ、ファンクションとして機能するPL/SQLブロック を構築できます。または SQL * Plusスクリプト内でPL/SQLのインライン・セグメントを作成できます。

    プログラマは容易にそのような/ CREATE TABLEのよう PL/SQL(カーソル例えば定義、または構文INTO SELECT ... を使用するなど)、データ定義言語(DDL)文にSQL DMLステートメントを組み込むことができるがDROP INDEXなどでは、「動的SQL」を使用する必要があります。以前の バージョンのOracleでは、 を明示的に解析してSQL文を実行する必要があった動的SQL用の複雑な組み込みDBMS_SQL パッケージを使用する必要がありました。後のバージョンには、「 」の「Native Dynamic SQL」と呼ばれるIMMEDIATE構文EXECUTE が含まれています。 OracleでDDLを使用すると、 暗黙的コミットが発生します。プログラマは、動的SQLを使用して、DML を実行することもできます。ここでは、ステートメントの正確な内容が事前にわからない場合があります。

    PL/SQLは、特定の目的のためにいくつかの事前定義パッケージを提供しています。このような PL/SQLパッケージは、次のとおりです。

    • DBMS_OUTPUT - 特定の時間に特定の手順/機能を実行するための(すなわちスケジューリング)
    • DBMS_XPLAN - - 出力操作のためのDBMS_JOB
    • 非データベースの宛先にフォーマットします"Explain Plan"出力
    • DBMS_SESSION - SQLのALTER SESSIONおよびSET ROLE文およびその他のセッション情報へのアクセスを提供します。
    • DBMS_METADATA - 読み込みのために、ディスク上の
    • UTL_HTTPをファイルの書き込み - - データベース
    • UTL_SMTPからWebサーバへのリクエストを行うために
    • UTL_FILE(例えばDDL文のような)データディクショナリからメタデータを抽出するための -

    Oracle Corporationでは、通常、Oracle DBMSの各リリースでパッケージ機能を追加したり、 パッケージ機能を拡張したりしています。

  • 関連する問題