Обновлено: 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()
Вывод:
Смотрите также
- Свойство набора рядов update_sql
- Свойство набора рядов delete_sql
- Свойство набора рядов refresh_sql
- Свойство набора рядов named_param_prefix
- Свойство набора рядов auto_insert_field_rule
- Свойство набора рядов auto_update_field_rule
- Свойство набора рядов Server Data on Insert
- Свойство инициализации server_data_back_read
