Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
INSERT
Erstellt eine oder mehrere neue Instanzen einer Ressource.
Siehe auch:
[ StackQL-Ressourcenhierarchie ]
Syntax
insertStatement::=
INSERT [ /*+ AWAIT */ ] [ IGNORE ] [ INTO ] <multipartIdentifier>
( field_name [, field_name] ... )
{ VALUES ( value [, value] ... ) | <selectExpression> }
[ RETURNING field_name [, field_name] ... ];
RETURNING-Klausel
Mit der RETURNING-Klausel können Sie Daten aus der Antwort der INSERT-Operation abrufen. Das ist besonders nützlich, wenn:
- die API wichtige Informationen wie generierte IDs, Statuscodes oder andere Metadaten zurückgibt
- Sie die Antwortdaten zur weiteren Verarbeitung erfassen müssen
- Sie das Ergebnis der Operation überprüfen möchten
Die in der RETURNING-Klausel angegebenen Felder werden aus der API-Antwort deserialisiert und in der Ergebnismenge angezeigt.
Beispiele
Einfache INSERT-Anweisung
Führen Sie eine INSERT-Anweisung aus, um eine Compute Engine Disk-Ressource zu erstellen. Dies ist ein nicht blockierender (asynchroner) Aufruf.
-- Create a Compute Engine Disk resource
INSERT INTO google.compute.disks (project, zone, name, sizeGb)
SELECT 'stackql-demo',
'australia-southeast1-a',
'test10gbdisk', 10;
INSERT-Anweisung (blockierend)
Führen Sie eine INSERT-Anweisung aus, um eine Compute Engine Disk-Ressource zu erstellen. Dies ist ein blockierender (synchroner) Aufruf.
-- Create a Compute Engine Disk resource
INSERT /*+ AWAIT */ INTO google.compute.disks (project, zone, name, sizeGb)
SELECT 'stackql-demo',
'australia-southeast1-a',
'test10gbdisk', 10;
INSERT-Anweisung mit SELECT
Führen Sie eine INSERT-Anweisung mit SELECT aus.
-- Create a Azure Network Interface
INSERT INTO azure.network.network_interfaces
(
resource_group_name,
subscription_id,
network_interface_name,
data__location,
data__properties
)
SELECT
'vmss-flex',
'0123456789',
'vmss-flex-vnet-nic01-manual-' || '1',
'eastus',
json_replace(json_remove(properties,
'$.allowPort25Out',
'$.auxiliarySku',
'$.provisioningState',
'$.resourceGuid',
'$.macAddress',
'$.vnetEncryptionSupported',
'$.enableIPForwarding',
'$.defaultOutboundAccess',
'$.primary',
'$.virtualMachine',
'$.hostedWorkloads',
'$.tapConfigurations',
'$.nicType',
'$.auxiliaryMode',
'$.ipConfigurations[0].id',
'$.ipConfigurations[0].etag',
'$.ipConfigurations[0].type',
'$.ipConfigurations[0].properties.provisioningState',
'$.ipConfigurations[0].properties.privateIPAddress',
'$.ipConfigurations[0].properties.privateIPAllocationMethod',
'$.ipConfigurations[0].properties.primary',
'$.ipConfigurations[0].properties.privateIPAddressVersion'
),
'$.ipConfigurations[0].name',
'vmss-flex-vnet-nic01-defaultIpConfiguration'
)
FROM
azure.network.network_interfaces
WHERE subscription_id = '0123456789'
AND resource_group_name = 'vmss-flex'
AND network_interface_name = 'vmss-nic-01';
INSERT-Anweisung mit RETURNING-Klausel
Führen Sie eine INSERT-Anweisung aus und rufen Sie bestimmte Felder aus der API-Antwort ab.
-- Execute a Snowflake SQL statement and return the response data
INSERT INTO snowflake.sqlapi.statements (
data__statement,
data__timeout,
data__database,
data__schema,
"User-Agent",
endpoint
)
SELECT
'SELECT
customer_id,
customer_name,
email,
credit_card_number,
purchase_amount,
purchase_date
FROM CUSTOMER_DATA',
10,
'MY_DATABASE',
'MY_SCHEMA',
'User-Agent',
'ABCDEF-XY12345'
RETURNING code, sqlState, message, data;
Ergebnis:
|--------|----------|--------------------------------|-----------------------------------------------------------------------------|
| code | sqlState | message | data |
|--------|----------|--------------------------------|-----------------------------------------------------------------------------|
| 090001 | 00000 | Statement executed | [["1","John |
| | | successfully. | Smith","john.smith@example.com","***MASKED***","199.99","20262"],["1","John |
| | | | Smith","john.smith@example.com","***MASKED***","199.99","20263"]] |
|--------|----------|--------------------------------|-----------------------------------------------------------------------------|