Updated: 2023-09-20
OLE DB Property of Rowset and Command — «update_sql»
Name:
update_sql
Type:
VT_BSTR
R/W:
R/W
Default:
EMPTY
IBProvider:
2, 3, 5
Defines SQL queries executed when updating a row.
Several SQL are enumerated through semicolon.
Usage of parameters with «NEW», «OLD», «COL» markers is allowed in the query text.
Examples
Variant of property value
update_sql = «UPDATE MY_TABLE SET ID=:NEW.ID, NAME=:NEW.NAME WHERE ID=:OLD.ID RETURNING ID INTO :COL.MY_TABLE.ID»
Example for VBScript and ADODB
option explicit dim cn,rs,v,f set cn=createobject("ADODB.Connection") cn.ConnectionString= _ "provider=LCPI.IBProvider.3;"& _ "location=inet4://localhost/d:\database\fb_03_0_0\employee.fdb;"& _ "user id=SYSDBA;"& _ "password=masterkey;"& _ "dbclient_type=fb.direct" call cn.Open() call cn.BeginTrans() set rs=createobject("ADODB.Recordset") set rs.ActiveConnection=cn rs.Properties("update_sql")= _ "update COUNTRY "&_ "SET CURRENCY='#ANY' "& _ "WHERE COUNTRY=:OLD.COUNTRY "& _ "returning COUNTRY, CURRENCY "& _ "into :COL.COUNTRY,:COL.COUNTRY.CURRENCY" 'LockType =adLockPessimistic (2) 'CommandType=adCmdText (1) call rs.Open("select * from COUNTRY where COUNTRY='Russia'",,,2,1) wscript.echo "COUNTRY : "&rs("COUNTRY").value wscript.echo "CURRENCY : "&rs("CURRENCY").value wscript.echo "--" 'New row column values f=array("CURRENCY") v=array("#DUMMY") call rs.Update(f,v) wscript.echo "COUNTRY : "&rs("COUNTRY").value wscript.echo "CURRENCY : "&rs("CURRENCY").value call cn.RollbackTrans()
Output:
See also
- The rowset property insert_sql
- The rowset property delete_sql
- The rowset property refresh_sql
- The rowset property named_param_prefix
- The rowset property auto_insert_field_rule
- The rowset property auto_update_field_rule
- The initialization property server_data_back_read