オープンSQLとネイティブSQL
オープンSQLとネイティブSQL
homepage
# オープンSQLとネイティブSQL ## 1、SQL定義 SQLとは Structured Query Language の略です。<br> SQL は以下の 3 領域に分類することができます。<br> **データ操作言語 (DML)**<br> データベーステーブルのデータ読込および変更の命令<br> **データ定義言語 (DDL)**<br> データベーステーブルの登録および管理の命令<br> **データ制御言語 (DCL)**<br> 権限および整合性チェックの命令<br> 補足:ABAPプログラムは、DDLのみ使えます。 ### Open SQL Open SQL 文は、ABAP Standard SQL のサブセットです。 データベースシステム依存せず、どんなデータベースシステムにも対応します。 ### Native SQL データベースシステム依存のSQLです。 直接送信可能 ## 2、オープン SQL には、以下のキーワードが含まれています。 ### SELECT文(データ読込用) ① 1件のみを取得する場合 ```ABAP SELECT SINGLE 項目 FROM テーブル名 INTO wa. ``` ② データを1件ずつを取得する場合 ```ABAP SELECT 項目 FROM テーブル名 INTO wa 処理内容 ENDSELECT. ``` ③一括で取得する場合 ```ABAP SELECT 項目 FROM テーブル名 INTO TABLE it. ``` ### INSERT文(データ追加用) 単一行の挿入 ```ABAP INSERT INTO target VALUES wa. ``` 複数行の挿入 ```ABAP INSERT target FROM TABLE itab [ACCEPTING DUPLICATE KEYS]. ``` ### UPDATE文(データ更新用) 1行の更新 ```ABAP Update target FROM wa. ``` 複数行の更新 ```ABAP Update target FROM TABLE itab ``` ### MODIFY文(データ追加または変更用) 1行の更新 ```ABAP Modify target FROM wa. ``` 複数行の更新 ```ABAP Modify target FROM TABLE itab. ``` ### DELETE文(データ削除用) 1行の削除 ```ABAP Delete target FROM wa. ``` 複数行の削除 ```ABAP Delete FROM target WHERE cond. ``` ### WHERE文(範囲を指定用) ```ABAP SELECT …WHERE s operator f… ``` ### SORT文(データ追加または変更用) ```ABAP SELECT … … ORDER BY itab. ``` ### GROUPING BY文(テーブルキーによって昇順または降順ソートされる) ```ABAP SELECT … GROUP BY carrid. ``` ### FOR ALL ENTRIES文 ```ABAP SELECT … FOR ALL ENTRIES IN itab WHERE cond... ``` ### JOIN文 #### 内部結合(INNER JOIN) ```ABAP SELECT (結合テーブルX)~(取得項目), (結合テーブルX)~(取得項目),… FROM (結合テーブル1) INNER JOIN (結合テーブル2) ON (結合テーブル1)~(結合項目) = (結合テーブル2)~(結合項目) INTO TABLE (ワークエリア) ``` #### 外部結合(OUTER JOIN) ```ABAP SELECT (結合テーブルX)~(取得項目),(結合テーブルX)~(取得項目),… FROM (結合テーブル1)LEFT OUTER JOIN (結合テーブル2) ON (結合テーブル1)~(結合項目) = (結合テーブル2)~(結合項目) AND (結合テーブル1)~(結合項目) = (結合テーブル2)~(結合項目) LEFT OUTER JOIN (結合テーブル3)ON (結合テーブル1)~(結合項目) = (結合テーブル3)~(結合項目) AND (結合テーブル1)~(結合項目) = (結合テーブル3)~(結合項目)… INTO TABLE DATA(内部テーブル名). ``` ## 3、リターンコード ①SY-SUBRC<br> RCは”Return Code”の略です。 <br> 「”SY-SUBRC = 0″」場合、処理正常完了<br> 「”SY-SUBRC = 4″」場合、処理正常完了しない<br> ②SY-DBCNT<br> SY-DBCNT の内容は、処理されたデータベース行の番号が入力されます。
content
戻る