クエリの実行
このセクションでは、MySQL に接続可能なあらゆるツールからMySQL リモーティングを使用してクエリを実行する方法を説明します。
クエリを実行する場合、以下に示すように、2部構成の名前フォーマットを使用します。
[<Schema Name (normally but not always the service name)>].[<Table Name>]説明
- Schema Name は、システムスキーマまたはユーザー定義のスキーマの名前です。
- Table Name は、データのコピー元のテーブルの名前です。
SELECT ステートメント
新しいレコードを作成するには:SELECT * FROM [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs] WHERE UserId = '[email protected]'データソースが大文字と小文字を区別する識別子をサポートしている場合、大文字と小文字が異なるだけの同名のテーブルを参照することはできないことに注意してください(例:同じスキーマのAccount とACCOUNT)。MySQL では識別子を大文字と小文字の区別なく扱うため、1つのスキーマに複数存在する同名のテーブルはMySQL のプロトコルとは根本的に互換性がありません。
INSERT、UPDATE、およびDELETE ステートメント
一行のデータ(つまりレコードのバッチではない)を挿入、更新、または削除するには、2部構成の名前を使用する必要があります。次に例を示します。INSERT INTO [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs] (UserId) VALUES ('[email protected]');
バルク操作
バルク操作を実行するには、次のような構文を使用できます:
VALUES リストの代わりに、SELECT クエリを使用してバルクINSERT を実行できます。
INSERT INTO [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs] ([UserId]) SELECT [UserId] FROM [Local_[CloudObjectStorage_1].[SampleBucket_1].Jobs]ローカルテーブルでJOIN を使用して、バルクUPDATE を実行できます。
UPDATE [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs] INNER JOIN [Local_[CloudObjectStorage_1].[SampleBucket_1].Jobs] ON [Local_[CloudObjectStorage_1].[SampleBucket_1].Jobs].[Id] = [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs].[Id] SET [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs].[UserId].[Local_UserId]sub-SELECT クエリでIN フィルタを使用して、バルクDELETE を実行できます。
DELETE FROM [IBMCloudSQLQuery].[[CloudObjectStorage_1].[SampleBucket_1].Jobs WHERE [Id] IN (SELECT [Id] FROM Local_[CloudObjectStorage_1].[SampleBucket_1].Jobs)
ストアドプロシージャの実行
以下を使用して、ストアドプロシージャを実行します。Call CreateJob('Insert')