Обновлено: 19.10.2023

OLE DB свойство набора рядов и команды — «insert_sql»

Имя:
insert_sql
Тип:
VT_BSTR
R/W:
R/W
По умолчанию:
EMPTY
IBProvider:
2, 3, 5

SQL запросы, выполняемые при вставке нового ряда.

Несколько SQL запросов перечисляются через точку с запятой.

В тексте запросов допускается использование параметров с маркерами «NEW», «GEN», «GEN_N», «GEN_NI», «COL».

Примеры

Вариант значения свойства

insert_sql = «INSERT INTO MY_TABLE (ID,NAME) VALUES(:GEN.GEN_ID_MY_TABLE.ID,:NEW.NAME) RETURNING ID, NAME INTO :COL.ID, :COL.NAME»

Пример для 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("insert_sql")= _
  "insert into COUNTRY (COUNTRY,CURRENCY) "&_
  "values(:NEW.COUNTRY,'MarsCoin') "&_
  "returning COUNTRY, CURRENCY "&_
  "into :COL.COUNTRY,:COL.COUNTRY.CURRENCY"

'LockType =adLockPessimistic (2)
call rs.Open("COUNTRY",,,2)

'New row column values
f=array("COUNTRY","CURRENCY")
v=array("Mars"   ,"#DUMMY")

call rs.AddNew(f,v)

wscript.echo "COUNTRY  : "&rs("COUNTRY").value
wscript.echo "CURRENCY : "&rs("CURRENCY").value

call cn.RollbackTrans()

Вывод:

Sample output

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

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

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