ODBC Driver for Snowflake

Build 20.0.7606

Updating Data

The following code examples show how to use data modification statements.

Procedure for Updates

Use SQLExecDirect to execute data manipulation statements and use the SQLRowCount function to obtain the affected rows.

INSERT

To insert updates:

SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); 
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); 
SQLDriverConnect(hdbc, 0, (SQLCHAR*)"Dsn=CData Snowflake Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"INSERT INTO Products (ProductName) VALUES ('Ikura')", SQL_NTS);  
SQLINTEGER  rowCount = 0;
SQLRowCount(hstmt, &rowCount);

UPDATE

To retrieve updates:

SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); 
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); 
SQLDriverConnect(hdbc, 0, (SQLCHAR*)"Dsn=CData Snowflake Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"UPDATE Products SET ProductName='Ikura' WHERE ProductName='Konbu')", SQL_NTS);  
SQLINTEGER  rowCount = 0;
SQLRowCount(hstmt, &rowCount); 

DELETE

To delete updates:

SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); 
SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 
SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); 
SQLDriverConnect(hdbc, 0, (SQLCHAR*)"Dsn=CData Snowflake Source;", SQL_NTS, 0, 0, 0, 0);
SQLExecDirect(hstmt, (SQLCHAR*)"DELETE FROM Products WHERE Id='22')", SQL_NTS);  
SQLINTEGER  rowCount = 0;
SQLRowCount(hstmt, &rowCount); 

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7606