Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Using Oracle bind variables on an INSERT
I am trying to tune my VB 6 application to take better advantage of
the Oracle 8i database it uses.
I have the following code:
ChangeLog.AddNew
ChangeLog("USER_ID") = UserID ChangeLog("Updated") = Now() ChangeLog("EQUIPTYPE_ID") = EquipTypeID ChangeLog("EQUIP_ID") = EquipIDOut ChangeLog("FIELD_NAME") = FieldName ChangeLog("OLD_VALUE") = OldValue ChangeLog("NEW_VALUE") = NewValue
This code generates sql_text in v$sqlarea like this:
INSERT INTO "TSS_CHANGELOG"
("EQUIPTYPE_ID","EQUIP_ID","FIELD_NAME","OLD_VALUE","NEW_VALUE","USER_ID","UPDATED")
VALUES (1,6111,:V00003,:V00004,:V00005,226,:V00007)
Somehow, many of the values are being converted to bind variables
without my doing anything. I'd like to take out the middleman and do
all of them so I end up with one such query in the cache rather than
the thousands that I found. Is this the proper syntax to do what I
want:
gcnnOut.Execute "INSERT INTO 'TSS_CHANGELOG' ('EQUIPTYPE_ID','EQUIP_ID','FIELD_NAME','OLD_VALUE','NEW_VALUE','USER_ID','UPDATED') VALUES (:a,:b,:c,:d,:e,:f,:g,:h,:i) using " & EquipTypeID & "," & EquipIDOut & "," & FieldName & "," & OldValue & "," & NewValue & "," & UserID & ",SYSDATE"
Thanks for your guidance,