Обновлено: 20.09.2023
OLE DB свойство набора рядов и команды — «update_sql»
Имя:
update_sql
Тип:
VT_BSTR
R/W:
R/W
По умолчанию:
EMPTY
IBProvider:
2, 3, 5
SQL запросы, выполняемые при изменении ряда.
Несколько SQL запросов перечисляются через точку запятой.
В тексте запросов допускается использование «NEW», «OLD», «COL» параметров.
Примеры
Вариант значения свойства
update_sql = «UPDATE MY_TABLE SET ID=:NEW.ID, NAME=:NEW.NAME WHERE ID=:OLD.ID RETURNING ID INTO :COL.MY_TABLE.ID»
Пример для VBScript и 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()
Вывод:
Смотрите также
- Свойство набора рядов insert_sql
- Свойство набора рядов delete_sql
- Свойство набора рядов refresh_sql
- Свойство набора рядов named_param_prefix
- Свойство набора рядов auto_insert_field_rule
- Свойство набора рядов auto_update_field_rule
- Свойство инициализации server_data_back_read