ホームページ  >  記事  >  データベース  >  MySQL と Oracle の違いの比較 2 基本構文

MySQL と Oracle の違いの比較 2 基本構文

黄舟
黄舟オリジナル
2017-01-17 11:46:151004ブラウズ

MySQL と Oracle の違いを比較する 基本文法

数値 数値カテゴリ Oracle MySQL アノテーション


変数を定義するための構文は次のとおりです。 [,...] type [DEFAULT value] 変数のデフォルト値を指定するには、DEFAULT 句を含める必要があります。値は式として指定でき、定数である必要はありません。 DEFAULT 句がない場合、初期値は NULL になります。

2 変数はさまざまな方法で割り当てられます lv_inputstr := iv_inputstr SET lv_inputstr = iv_inputstr 1. Oracle 変数の割り当てでは、次のものが使用されます。

mysql は、変数に値を割り当てるときに set キーワードを使用します。 3 ジャンプアウト (終了) ステートメントが異なります。 EXIT; LEAVE プロシージャ名。 1. oracle: exit ステートメントがループ内にある場合は、現在のループを終了します。 exit ステートメントがループ内に存在しなくなった場合は、現在のプロシージャを終了します。


Mysql: Leave ステートメントの後にストアド プロシージャ名が続く場合、現在のストアド プロシージャを終了します。


while 条件ループを終了します。 exit;

end ループ;


ループ条件 do

leave label_name;

end while label_name;


4 カーソルの定義 TYPE g_grp_cur IS REF CURSOR;

DECLARE カーソル名 CURSOR FOR SELECT_statement;次にカーソルに値を割り当てます。
mysql がカーソルを定義するときは、Mysql 5.1 リファレンス マニュアル 20.2.11.1 からのカーソルの割り当てを指定する必要があります。
5 定義 配列 TYPE unpacklist_type IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER; oracle 配列の代わりに一時テーブルを使用できます。
oracle 配列を置き換えるために、一時テーブルを使用することもできます。詳細については、<<2009002-OTMPPS-Difficultquestions-0001.doc>> の 2.4 Mysql 配列処理セクションを参照してください。

6 さまざまなコメント メソッド「- - message」または「/**…。*/」

または "/*&*/" "-- message" または "/*&*/"

または "#" mysql コメントは MySQL 5.1 リファレンス マニュアル 9.5 のコメント構文からのものであり、同じであることが推奨されます。 Oracle の場合、単一行、複数行の場合は -- を使用します /* */

7 組み込みの日付と時刻関数の形式は異なります Oracle 時間形式: yyyy-MM-dd hh:mi:ss Mysql 時間形式 :% Y-%m-%d %H:%i:%s 1. MYSQL の日付フィールドは DATE と TIME に分かれています。

ORACLE の日付フィールドには年、月、日、時、分、秒の情報が含まれます。

2. mysql now() 関数から現在のシステム時刻を秒単位で取得します。

oracle から現在の時刻を加算および減算します。 N 日: sysdate+N

current 時刻から N 日を減算: sysdate-N 日付を追加: date_add(now(), INTERVAL 180 DAY)


日付を減算: date_sub('1998-01-01 00:00:00' 、間隔 '1 1:1: 1' day_second)

9 異なる文字列連結子 result := v_int1||v_int2; set result = concat(v_int1,v_int2); 1. Oracle は || を使用して文字列を接続します。ただし、Oracle の concat 関数は 2 つの文字列のみを接続できます。MySQL の concat 関数は、


select concat('10') のように、1 つ以上の文字列を接続できます。 ; 結果は次のようになります。

mysql> select concat('11','22','33','aa'); 結果は次のようになります: 112233aa

2

10 さまざまなカーソルを定義します CURSOR l_bk_cur IS

SELECT B.BK_HDR_INT_KEY, B.BK_NUM

FROM ES_SR_DTL_VRB A, ES_BK_HDR B

WHERE A.BK_HDR_INT_KEY = B.BK_HDR_INT _KEY

AND _STATUS != ES_BK_PKG.g_status_can

AND A.SR_HDR_INT_KEY = ii_sr_hdr_int_key; DECLARE l_bk_cur CURSOR

FOR SELECT B.BK_HDR_INT_KEY、B.BK_NUM

FROM ES_SR_DTL_VRB A、ES_BK_HDR B

WHERE A.BK_ HDR_INT_KEY = B.BK_HD R_INT_KEY

AND b.BK_STATUS != ES_BK_PKG。 g_status_can

AND A.SR_HDR_INT_KEY = ii_sr_hdr_int_key;

詳細については、<<2009002-OTMPPS-Difficultquestions-0001.doc>> の 2.2 Mysql カーソル処理セクションを参照してください。

11 トランザクション ロールバック ROLLBACK ; ロールバックで使用されます。 oracle と mysql メソッドは同じです

12 GOTO ステートメント GOTO check_date; GOTO check_date; oracle と mysql で使用されるメソッドは同じです

以上が MySQL と Oracle の基本的な構文の内容の比較 2 です。 、PHP 中国語 Web サイト (www.php. cn) に注意してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。