TOP をテンプレートにして作成
ホーム
バックアップ
一覧
検索
最終更新
ヘルプ
ログイン
開始行
[[FrontPage]]へ~
-[[リファレンスガイド]]へ~
--[[Firebird SQLリファレンス]]へ~
&br;
----
*Firebird SQL リファレンス:INSERT/UPDATE/DELETE [#r53e095a]
#contents
----
&br;
&aname(insert);
*INSERT [#a4daee4e]
指定したテーブルに、新しいいくつかの行を追加します。
SQL,DSQLおよびisqlから使用出来ます。~
この文書は、公開されているIB6のSQLレファレンスを基とし...
各リリースノートにおける追加内容に関して反映・統合されて...
**構文 [#yb55ee68]
&br;
INSERT [TRANSACTION transaction] INTO <object> [(col [, ...
{VALUES (<val> [, <val> …]) | <select_expr>};
<object> = tablename | viewname
<val> = {:variable | <constant> | <expr>
| <function> | udf ([<val> [, <val> …]])
| NULL | USER | RDB$DB_KEY | ?
} [COLLATE collation]
<constant> = num | 'string' | charsetname 'string'
<function> = CAST (<val> AS <datatype>)
| UPPER (<val>)
| GEN_ID (generator, <val>)
|引数|説明|h
|expr|1つの値が得られるSQL式|
|select_expr|挿入する列数と同じ数の列データが得られる、0...
**詳細の説明 [#t050db0c]
指定したテーブルまたビューに、新しいいくつかの行を追加...
値のソースとしては、定数(含む文字列)以外にも、式、UDF、任...
クエリ結果などが指定可能です。
埋め込みSQL等の場合には、変数名も使用できます。~
&br;
-プレースホルダ(例:"?")は、SQL及びisqlでは使用できません。
-DSQLとisqlでは、valに変数(:variable)は使用できません。
-BLOBの列に COLLATE を指定することは出来ません。
-DSQLの場合は行終端文字のセミコロンを指定してはなりません。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
-節の詳細の説明です。
|引数|説明|h
|TRANSACTION transaction|指定した名前のトランザクション下...
|INTO object|データをインサートする、有効なテーブルまたは...
|col|値をインサートする、有効なテーブルまたはビューのの列...
|VALUES (val [, val …])|テーブルまたはビューにインサート...
|select_expr|ターゲットの列に挿入するデータを得るためのク...
&br;
INSERTは、1つ以上の新しい行データをテーブルまたはビュ...
INSERTは、GRANTおよびREVOKE文により制御されるデーターベー...
一つです。~
&br;
(省略可能な)ターゲットとなる列のリストが示された場合、...
での列指定順に指定されているものとみなされます。指定がな...
デフォルト値またはnullが設定されます。~
&br;
ターゲットとなる列のリストが示されない(省略された)場合...
すべての列分の設定する値を記述しなければなりません。~
&br;
1つの行をインサートする場合、通常はVALUESに値を指定し...
&br;
複数行のデータを一度にインサートする場合、別のテーブル...
select_expr指定を使います。ここで選択される列は、インサー...
となる列の指定と一致しなければなりません。~
''重要'' 同じテーブルからインサートすることも可能です...
可能性があるので、お勧めしません。~
&br;
TRANSACTION節は、多重トランザクションSQLアプリケーショ...
トランザクションがINSERTを実行するかを制御するためにあり...
isqlでは使用できません。~
**用例 [#od4a00b8]
-単純な行の追加
INSERT INTO EMPLOYEE_PROJECT (EMP_NO, PROJ_ID)
VALUES (100, 'Simple');
-埋め込みSQLの例:割当てられた2つの変数の内容の行を追加...
EXEC SQL
INSERT INTO EMPLOYEE_PROJECT (EMP_NO, PROJ_ID)
VALUES (:emp_no, :proj_id);
&br;
-isqlの例:SELECTにより指定された行の挿入
INSERT INTO PROJECTS
SELECT * FROM NEW_PROJECTS
WHERE NEW_PROJECTS.START_DATE > '6-JUN-1994';
&br;
**参照 [#ccd6726a]
GRANT , REVOKE , SET TRANSACTION , [[UPDATE>#update]]
&br;
&br;
----
&br;
&br;
&aname(update);
*UPDATE [#y7a8528c]
テーブル、ビュー、アクティブなカーソルに対して、行のす...
列データ値を変更します。
SQL,DSQLおよびisqlから使用出来ます。~
この文書は、公開されているIB6のSQLレファレンスを基とし...
各リリースノートにおける追加内容に関して反映・統合されて...
**構文 [#y165ffab]
&br;
''SQL での構文:''
UPDATE [TRANSACTION transaction] {table | view}
SET col = <val> [, col = <val> …]
[WHERE <search_condition> | WHERE CURRENT OF cursor];
&br;
''DSQL,isql での構文:''
UPDATE {table | view}
SET col = <val> [, col = <val> …]
[WHERE <search_condition>]
&br;
<val> = {
col [<array_dim>]
| :variable
| <constant>
| <expr>
| <function>
| udf ([<val> [, <val> …]])
| NULL
| USER
| ?
}
[COLLATE collation]
<array_dim> = [[x:]y [, [x:]y …]]
<constant> = num | 'string' | charsetname 'string'
<function> = CAST (<val> AS <datatype>)
| UPPER (<val>)
| GEN_ID (generator, <val>)
<expr> = 1つの値を返すSQL式
<search_condition> = CREATE TABLE を参照してください
**詳細の説明 [#z7959954]
指定したテーブル、ビュー、アクティブなカーソルに対して...
一部の列値を更新します。値のソースとしては、定数(含む文字...
UDF、SQL式よるクエリ結果などが指定可能です。
埋め込みSQL等の場合には、変数名も使用できます。~
&br;
-プレースホルダ(例:"?")は、SQL及びisqlでは使用できません。
-DSQLとisqlでは、valに変数(:variable)は使用できません。
-BLOBの列に COLLATE を指定することは出来ません。
-DSQLの場合は行終端文字のセミコロンを指定してはなりません。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
-節の詳細の説明です。
|引数|説明|h
|TRANSACTION transaction|指定した名前のトランザクション下...
|table|view|更新対象の名前がテーブルかビューかを指定しま...
|SET col = val|指定列のに設定する値を指定します。|
|WHERE search_condition|検索更新時に指定します。更新対象...
|WHERE CURRENT OF cursor|位置指定更新時に指定します。更新...
|?|プレースホルダ。DSQLおよびisqlでは使用できません|
&br;
UPDATEは、テーブルまたはビューの1つ以上の行データ更新...
UPDATEは、GRANTおよびREVOKE文により制御されるデーターベー...
一つです。~
&br;
WHERE を使用することにより、指定条件に合致した行のみを...
ます。ただし、これは配列の一部要素に対しては使用できませ...
&br;
''重要'' WHERE節が省略された場合、すべての列に対して指...
ます。~
&br;
WHERE CURRENT OF節によるカーソルによる位置指定更新の場...
の更新が行われます。~
&br;
※ BLOB列を更新する場合、UPDATEはすべてのBLOBを新しい値に...
**用例 [#od16eee7]
-すべての行の指定列を変更します。
UPDATE CITIES
SET POPULATION = POPULATION * 1.03;
&br;
-指定された条件の行を変更します。
UPDATE TESTTABLES
SET STATUS = 20, FLAG=0
WHERE FLAG = 1;
&br;
-埋め込みSQLの例:WHEREでの条件指定の例ですが、条件値と設...
います。
EXEC SQL
UPDATE PROJECT
SET PROJ_DESC = :blob_id
WHERE PROJ_ID = :proj_id;
&br;
**参照 [#la824ce5]
[[DELETE>#delete]] , GRANT , [[INSERT>#insert]] , REVOKE ...
&br;
&br;
----
&br;
&br;
&aname(delete);
*DELETE [#ve506b16]
テーブル、アクティブなカーソルの行を削除します。
SQL,DSQLおよびisqlから使用出来ます。~
この文書は、公開されているIB6のSQLレファレンスを基とし...
各リリースノートにおける追加内容に関して反映・統合されて...
**構文 [#oba88eb9]
&br;
''SQLおよびDSQLでの構文:''&br;
※DSQLの場合、セミコロンは不要です。
DELETE [TRANSACTION transaction] FROM table
{[WHERE <search_condition>] | WHERE CURRENT OF cursor};
''isqlでの構文:''
DELETE FROM TABLE [WHERE <search_condition>];
&br;
<search_condition> = [[SELECT]]を参照して下さい。
|引数|説明|h
|TRANSACTION transaction|指定した名前のトランザクション下...
|table|行を削除するテーブルの名前です。|
|WHERE search_condition|削除する行を検索する条件を指定し...
|WHERE CURRENT OF cursor|削除対象になる行を特定するカーソ...
**詳細の説明 [#n284421c]
DELETEは、テーブルまたはビューの1つ以上の行を削除します。
DELETEは、GRANTおよびREVOKE文により制御されるデーターベー...
一つです。~
&br;
TRANSACTION節は、多重トランザクションSQLアプリケーショ...
トランザクションがDELETEを実行するかを制御するためにあり...
isqlでは使用できません。~
&br;
WHERE を使用することにより、指定条件に合致した行のみを...
ます。~
&br;
''重要'' WHERE節が省略された場合、テーブルの全列が削除...
&br;
WHERE CURRENT OF節によるカーソルによる位置指定削除の場...
の削除が行われます。~
&br;
**用例 [#x90f3111]
-テーブルのすべての行を削除します。
DELETE FROM EMPLOYEE_PROJECT;
&br;
-指定された条件に合致する行を削除します。
DELETE FROM TESTTABLES WHERE ID = 0 OR FLAG = 2;
&br;
-埋め込みSQLの例:ホスト言語の変数で指定した条件に合致する...
EXEC SQL
DELETE FROM SALARY_HISTORY
WHERE EMP_NO = :emp_num;
&br;
-埋め込みSQLの例:ホスト変数:min_popよりもPOPULATIONが小さ...
カーソルを作成し、そのカーソルにより削除を行います。FETCH...
取り込み、その行を削除しています。
EXEC SQL
DECLARE SMALL_CITIES CURSOR FOR
SELECT CITY, STATE
FROM CITIES
WHERE POPULATION < :min_pop;
EXEC SQL
OPEN SMALL_CITIES;
EXEC SQL
FETCH SMALL_CITIES INTO :cityname, :statecode;
WHILE (!SQLCODE)
{
EXEC SQL
DELETE FROM CITIES
WHERE CURRENT OF SMALL_CITIES;
EXEC SQL
FETCH SMALL_CITIES INTO :cityname, :statecode;
}
EXEC SQL
CLOSE SMALL_CITIES;
**参照 [#r7064a7e]
DECLARE CURSOR , FETCH , GRANT , OPEN , REVOKE , [[SELECT]]
最終行:
[[FrontPage]]へ~
-[[リファレンスガイド]]へ~
--[[Firebird SQLリファレンス]]へ~
&br;
----
*Firebird SQL リファレンス:INSERT/UPDATE/DELETE [#r53e095a]
#contents
----
&br;
&aname(insert);
*INSERT [#a4daee4e]
指定したテーブルに、新しいいくつかの行を追加します。
SQL,DSQLおよびisqlから使用出来ます。~
この文書は、公開されているIB6のSQLレファレンスを基とし...
各リリースノートにおける追加内容に関して反映・統合されて...
**構文 [#yb55ee68]
&br;
INSERT [TRANSACTION transaction] INTO <object> [(col [, ...
{VALUES (<val> [, <val> …]) | <select_expr>};
<object> = tablename | viewname
<val> = {:variable | <constant> | <expr>
| <function> | udf ([<val> [, <val> …]])
| NULL | USER | RDB$DB_KEY | ?
} [COLLATE collation]
<constant> = num | 'string' | charsetname 'string'
<function> = CAST (<val> AS <datatype>)
| UPPER (<val>)
| GEN_ID (generator, <val>)
|引数|説明|h
|expr|1つの値が得られるSQL式|
|select_expr|挿入する列数と同じ数の列データが得られる、0...
**詳細の説明 [#t050db0c]
指定したテーブルまたビューに、新しいいくつかの行を追加...
値のソースとしては、定数(含む文字列)以外にも、式、UDF、任...
クエリ結果などが指定可能です。
埋め込みSQL等の場合には、変数名も使用できます。~
&br;
-プレースホルダ(例:"?")は、SQL及びisqlでは使用できません。
-DSQLとisqlでは、valに変数(:variable)は使用できません。
-BLOBの列に COLLATE を指定することは出来ません。
-DSQLの場合は行終端文字のセミコロンを指定してはなりません。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
-節の詳細の説明です。
|引数|説明|h
|TRANSACTION transaction|指定した名前のトランザクション下...
|INTO object|データをインサートする、有効なテーブルまたは...
|col|値をインサートする、有効なテーブルまたはビューのの列...
|VALUES (val [, val …])|テーブルまたはビューにインサート...
|select_expr|ターゲットの列に挿入するデータを得るためのク...
&br;
INSERTは、1つ以上の新しい行データをテーブルまたはビュ...
INSERTは、GRANTおよびREVOKE文により制御されるデーターベー...
一つです。~
&br;
(省略可能な)ターゲットとなる列のリストが示された場合、...
での列指定順に指定されているものとみなされます。指定がな...
デフォルト値またはnullが設定されます。~
&br;
ターゲットとなる列のリストが示されない(省略された)場合...
すべての列分の設定する値を記述しなければなりません。~
&br;
1つの行をインサートする場合、通常はVALUESに値を指定し...
&br;
複数行のデータを一度にインサートする場合、別のテーブル...
select_expr指定を使います。ここで選択される列は、インサー...
となる列の指定と一致しなければなりません。~
''重要'' 同じテーブルからインサートすることも可能です...
可能性があるので、お勧めしません。~
&br;
TRANSACTION節は、多重トランザクションSQLアプリケーショ...
トランザクションがINSERTを実行するかを制御するためにあり...
isqlでは使用できません。~
**用例 [#od4a00b8]
-単純な行の追加
INSERT INTO EMPLOYEE_PROJECT (EMP_NO, PROJ_ID)
VALUES (100, 'Simple');
-埋め込みSQLの例:割当てられた2つの変数の内容の行を追加...
EXEC SQL
INSERT INTO EMPLOYEE_PROJECT (EMP_NO, PROJ_ID)
VALUES (:emp_no, :proj_id);
&br;
-isqlの例:SELECTにより指定された行の挿入
INSERT INTO PROJECTS
SELECT * FROM NEW_PROJECTS
WHERE NEW_PROJECTS.START_DATE > '6-JUN-1994';
&br;
**参照 [#ccd6726a]
GRANT , REVOKE , SET TRANSACTION , [[UPDATE>#update]]
&br;
&br;
----
&br;
&br;
&aname(update);
*UPDATE [#y7a8528c]
テーブル、ビュー、アクティブなカーソルに対して、行のす...
列データ値を変更します。
SQL,DSQLおよびisqlから使用出来ます。~
この文書は、公開されているIB6のSQLレファレンスを基とし...
各リリースノートにおける追加内容に関して反映・統合されて...
**構文 [#y165ffab]
&br;
''SQL での構文:''
UPDATE [TRANSACTION transaction] {table | view}
SET col = <val> [, col = <val> …]
[WHERE <search_condition> | WHERE CURRENT OF cursor];
&br;
''DSQL,isql での構文:''
UPDATE {table | view}
SET col = <val> [, col = <val> …]
[WHERE <search_condition>]
&br;
<val> = {
col [<array_dim>]
| :variable
| <constant>
| <expr>
| <function>
| udf ([<val> [, <val> …]])
| NULL
| USER
| ?
}
[COLLATE collation]
<array_dim> = [[x:]y [, [x:]y …]]
<constant> = num | 'string' | charsetname 'string'
<function> = CAST (<val> AS <datatype>)
| UPPER (<val>)
| GEN_ID (generator, <val>)
<expr> = 1つの値を返すSQL式
<search_condition> = CREATE TABLE を参照してください
**詳細の説明 [#z7959954]
指定したテーブル、ビュー、アクティブなカーソルに対して...
一部の列値を更新します。値のソースとしては、定数(含む文字...
UDF、SQL式よるクエリ結果などが指定可能です。
埋め込みSQL等の場合には、変数名も使用できます。~
&br;
-プレースホルダ(例:"?")は、SQL及びisqlでは使用できません。
-DSQLとisqlでは、valに変数(:variable)は使用できません。
-BLOBの列に COLLATE を指定することは出来ません。
-DSQLの場合は行終端文字のセミコロンを指定してはなりません。
isql及びC/C++の埋め込みSQLでは行の終わりを示すために終端...
-節の詳細の説明です。
|引数|説明|h
|TRANSACTION transaction|指定した名前のトランザクション下...
|table|view|更新対象の名前がテーブルかビューかを指定しま...
|SET col = val|指定列のに設定する値を指定します。|
|WHERE search_condition|検索更新時に指定します。更新対象...
|WHERE CURRENT OF cursor|位置指定更新時に指定します。更新...
|?|プレースホルダ。DSQLおよびisqlでは使用できません|
&br;
UPDATEは、テーブルまたはビューの1つ以上の行データ更新...
UPDATEは、GRANTおよびREVOKE文により制御されるデーターベー...
一つです。~
&br;
WHERE を使用することにより、指定条件に合致した行のみを...
ます。ただし、これは配列の一部要素に対しては使用できませ...
&br;
''重要'' WHERE節が省略された場合、すべての列に対して指...
ます。~
&br;
WHERE CURRENT OF節によるカーソルによる位置指定更新の場...
の更新が行われます。~
&br;
※ BLOB列を更新する場合、UPDATEはすべてのBLOBを新しい値に...
**用例 [#od16eee7]
-すべての行の指定列を変更します。
UPDATE CITIES
SET POPULATION = POPULATION * 1.03;
&br;
-指定された条件の行を変更します。
UPDATE TESTTABLES
SET STATUS = 20, FLAG=0
WHERE FLAG = 1;
&br;
-埋め込みSQLの例:WHEREでの条件指定の例ですが、条件値と設...
います。
EXEC SQL
UPDATE PROJECT
SET PROJ_DESC = :blob_id
WHERE PROJ_ID = :proj_id;
&br;
**参照 [#la824ce5]
[[DELETE>#delete]] , GRANT , [[INSERT>#insert]] , REVOKE ...
&br;
&br;
----
&br;
&br;
&aname(delete);
*DELETE [#ve506b16]
テーブル、アクティブなカーソルの行を削除します。
SQL,DSQLおよびisqlから使用出来ます。~
この文書は、公開されているIB6のSQLレファレンスを基とし...
各リリースノートにおける追加内容に関して反映・統合されて...
**構文 [#oba88eb9]
&br;
''SQLおよびDSQLでの構文:''&br;
※DSQLの場合、セミコロンは不要です。
DELETE [TRANSACTION transaction] FROM table
{[WHERE <search_condition>] | WHERE CURRENT OF cursor};
''isqlでの構文:''
DELETE FROM TABLE [WHERE <search_condition>];
&br;
<search_condition> = [[SELECT]]を参照して下さい。
|引数|説明|h
|TRANSACTION transaction|指定した名前のトランザクション下...
|table|行を削除するテーブルの名前です。|
|WHERE search_condition|削除する行を検索する条件を指定し...
|WHERE CURRENT OF cursor|削除対象になる行を特定するカーソ...
**詳細の説明 [#n284421c]
DELETEは、テーブルまたはビューの1つ以上の行を削除します。
DELETEは、GRANTおよびREVOKE文により制御されるデーターベー...
一つです。~
&br;
TRANSACTION節は、多重トランザクションSQLアプリケーショ...
トランザクションがDELETEを実行するかを制御するためにあり...
isqlでは使用できません。~
&br;
WHERE を使用することにより、指定条件に合致した行のみを...
ます。~
&br;
''重要'' WHERE節が省略された場合、テーブルの全列が削除...
&br;
WHERE CURRENT OF節によるカーソルによる位置指定削除の場...
の削除が行われます。~
&br;
**用例 [#x90f3111]
-テーブルのすべての行を削除します。
DELETE FROM EMPLOYEE_PROJECT;
&br;
-指定された条件に合致する行を削除します。
DELETE FROM TESTTABLES WHERE ID = 0 OR FLAG = 2;
&br;
-埋め込みSQLの例:ホスト言語の変数で指定した条件に合致する...
EXEC SQL
DELETE FROM SALARY_HISTORY
WHERE EMP_NO = :emp_num;
&br;
-埋め込みSQLの例:ホスト変数:min_popよりもPOPULATIONが小さ...
カーソルを作成し、そのカーソルにより削除を行います。FETCH...
取り込み、その行を削除しています。
EXEC SQL
DECLARE SMALL_CITIES CURSOR FOR
SELECT CITY, STATE
FROM CITIES
WHERE POPULATION < :min_pop;
EXEC SQL
OPEN SMALL_CITIES;
EXEC SQL
FETCH SMALL_CITIES INTO :cityname, :statecode;
WHILE (!SQLCODE)
{
EXEC SQL
DELETE FROM CITIES
WHERE CURRENT OF SMALL_CITIES;
EXEC SQL
FETCH SMALL_CITIES INTO :cityname, :statecode;
}
EXEC SQL
CLOSE SMALL_CITIES;
**参照 [#r7064a7e]
DECLARE CURSOR , FETCH , GRANT , OPEN , REVOKE , [[SELECT]]
ページ名:
新規
名前変更
ホーム
一覧
検索
最終更新
バックアップ
ヘルプ
最終更新のRSS