Обновлено: 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()

Вывод:

Sample output

Смотрите также

Другие свойства группы

Другие наборы свойств