MCPcopy Create free account
hub / github.com/GoogleCloudPlatform/nodejs-docs-samples / updateUsingDmlWithStruct

Function updateUsingDmlWithStruct

spanner/dml.js:233–279  ·  view source on GitHub ↗
(instanceId, databaseId, projectId)

Source from the content-addressed store, hash-verified

231}
232
233async function updateUsingDmlWithStruct(instanceId, databaseId, projectId) {
234 // [START spanner_dml_structs]
235 // Imports the Google Cloud client library
236 const {Spanner} = require('@google-cloud/spanner');
237
238 const nameStruct = Spanner.struct({
239 FirstName: 'Timothy',
240 LastName: 'Campbell',
241 });
242
243 /**
244 * TODO(developer): Uncomment the following lines before running the sample.
245 */
246 // const projectId = 'my-project-id';
247 // const instanceId = 'my-instance';
248 // const databaseId = 'my-database';
249
250 // Creates a client
251 const spanner = new Spanner({
252 projectId: projectId,
253 });
254
255 // Gets a reference to a Cloud Spanner instance and database
256 const instance = spanner.instance(instanceId);
257 const database = instance.database(databaseId);
258
259 try {
260 await database.runTransactionAsync(async transaction => {
261 const [rowCount] = await transaction.runUpdate({
262 sql: `UPDATE Singers SET LastName = 'Grant'
263 WHERE STRUCT<FirstName STRING, LastName STRING>(FirstName, LastName) = @name`,
264 params: {
265 name: nameStruct,
266 },
267 });
268
269 console.log(`Successfully updated ${rowCount} record.`);
270 await transaction.commit();
271 });
272 } catch (err) {
273 console.error('ERROR:', err);
274 } finally {
275 // Close the database when finished.
276 await database.close();
277 }
278 // [END spanner_dml_structs]
279}
280
281async function writeUsingDml(instanceId, databaseId, projectId) {
282 // [START spanner_dml_getting_started_insert]

Callers 1

dml.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected