SQL EXECUTE で SQL 文を実行する
用途
SQL EXECUTE は、さまざまな SQL 文と組み合わせて使用します。
条件
- コード番号 555343
- 表がある
- 適切な表の名前
表および列の名前の頭文字は欧文文字でなければならず、「+」などの演算記号は名前に使用できません。これらの記号が名前に含まれていると、SQL コマンドにより、データの読込みおよび読出し時に問題が生じることがあります。
機能説明
- 黒色矢印とそれに帰属する構文は SQL EXECUTE の内部フローを示します.灰色矢印とそれに帰属する構文は SQL EXECUTE コマンドに直接には含まれません.
SQL EXECUTE コマンドで、次の SQL 文を使用できます:
文 | 機能 |
---|---|
SELECT | データを選択します |
CREATE SYNONYM | シノニムを作成します (長いパス名を短い別名に置換え) |
DROP SYNONYM | シノニムの削除 |
CREATE TABLE | 表を作成します |
COPY TABLE | 表のコピー |
RENAME TABLE | 表の名前を変更 |
DROP TABLE | 表の削除 |
INSERT | 表に行を挿入します |
UPDATE | 表の行を更新します |
DELETE | 表の行を削除します |
ALTER TABLE |
|
RENAME COLUMN | 表の列の名前を変更します |
SQL EXECUTE と SQL SELECT 文
SQL サーバーは、データを行単位で結果セット (標本空間) に保存します。行には 0 から始まる、連続した番号が付けられます。この行番号 (INDEX) は SQL コマンドの FETCH および UPDATE で使用します。
SQL EXECUTE を SQL SELECT 文と組み合わせると、表の値を選択して、それを結果セットに転送し、その際に常に 1 つのトランザクションを開きます。SQL SELECT コマンドとは異なり、SQL EXECUTE と SELECT 文を組み合わせた場合には、複数の列と行を同時に選択できます。
SQL ... "SELECT...WHERE..." 関数で検索基準を指定します。これにより、必要に応じて転送する行の数を制限します。このオプションを使用しない場合、表のすべての行が読み込まれます。
SQL ... "SELECT...ORDER BY..." 関数でソート基準を指定します。この並べ替え条件は、列の名前と昇順用キーワード ASC または降順用キーワード DESC で構成されます。このオプションを使用しない場合、行はランダム順で保存されます。
SQL ... "SELECT...FOR UPDATE" 関数で選択した行を他のアプリケーションに対してロックします。他のアプリケーションではこれらの行を引き続き読み取ることはできますが、変更はできません。表の入力データを変更する場合には、必ずこのオプションを使用してください。
空の結果セット:検索条件に合致する行がない場合、SQL サーバーは表の項目なしの有効な HANDLE を戻します。
条件 | プログラミング |
---|---|
等しい | = == |
等しくない | != <> |
より小さい | < |
以下 | <= |
より大きい | > |
以上 | >= |
空 | IS NULL |
空ではない | IS NOT NULL |
複数の条件を結合する: | |
論理演算子 AND | AND |
論旨演算子 OR | OR |
注意事項
- NC 機能 SQL EXECUTE を選択すると、構文要素 SQL のみが NC プログラムに挿入されます。
- まだ作成されていない表にもシノニムを定義することができます。
- 作成されたファイルの列の順序は、AS SELECT 文内の順序に対応しています。
- SQL コマンド内の文に対して、単純な、または組み合わせた文字列パラメータを使用することもできます。
- 構文要素 WHERE の後に、比較値を変数として定義することもできます。比較に数値パラメータを使用すると、定義された値が整数に丸められます。文字列パラメータを使用する場合、定義済みの値が使用されます。
- 作業エリア「状態」の「QPARA」タブで文字列パラメータの内容を確認する際、すべての内容が表示されない場合があります。
例
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 SQL BIND Q881 "Tab_Example.Position_Nr" | |
12 SQL BIND Q882 "Tab_Example.Measure_X" | |
13 SQL BIND Q883 "Tab_Example.Measure_Y" | |
14 SQL BIND Q884 "Tab_Example.Measure_Z" | |
. . . | |
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example" |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr<20" |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example WHERE Position_Nr==:’Q11’" |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
20 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM ’V:\table\Tab_Example’ WHERE Position_Nr<20" |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
0 BEGIN PGM SQL_CREATE_TAB MM | |
1 SQL Q10 "CREATE SYNONYM NEW FOR 'TNC:\table\NewTab.TAB'" | ; シノニムを作成する |
2 SQL Q10 "CREATE TABLE NEW AS SELECT X,Y,Z FROM 'TNC:\prototype_for_NewTab.tab'" | :既存の表の X、Y、Z 列を新しい表として作成する |
3 END PGM SQL_CREATE_TAB MM |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
0 BEGIN PGM SQL_CREATE_TABLE_QS MM | |
1 DECLARE STRING QS1 = "CREATE TABLE " | |
2 DECLARE STRING QS2 = "'TNC:\nc_prog\demo\Doku\NewTab.t' " | |
3 DECLARE STRING QS3 = "AS SELECT " | |
4 DECLARE STRING QS4 = "DL,R,DR,L " | |
5 DECLARE STRING QS5 = "FROM " | |
6 DECLARE STRING QS6 = "'TNC:\table\tool.t'" | |
7 QS7 = QS1 || QS2 || QS3 || QS4 || QS5 || QS6 | |
8 SQL Q1800 QS7 | |
9 END PGM SQL_CREATE_TABLE_QS MM |