4D for OCI et APPLIQUER A SELECTION
Date de publication : 17/01/2006
Par
Stephanie Tirtiat (Intl Tech Support) Comment utiliser la commande APPLIQUER A SELECTION avec 4D for OCI ?
Produit : 4D for OCI 2004.x · Plateforme : Mac et Win
La syntaxe correcte est :
APPLIQUER A SELECTION ([MaTable];$status:=OCIStmtExecute ($Svchp;$Stmhp;$Errhp1;1;0;0;0;OCI_DEFAULT))
Et le code exemple 4D :
C_TEXTE(<>Username;<>Password;<>Datasource)
<>Username:="xxx"
<>Password:="xxx"
<>Datasource:="xxx"
$status:=OCIEnvCreate (envhp;OCI_DEFAULT )
$status:=OCIHandleAlloc (envhp;$errhp;OCI_HTYPE_ERROR )
$status:=OCIHandleAlloc (envhp;svchp;OCI_HTYPE_SVCCTX )
$status:=OCIHandleAlloc (envhp;authp;OCI_HTYPE_SESSION )
$status:=OCIHandleAlloc (envhp;srvhp;OCI_HTYPE_SERVER )
$status:=OCIServerAttach (srvhp;$errhp;<>Datasource)
$status:=OCIAttrSetVal (svchp;srvhp;OCI_ATTR_SERVER ;$errhp)
$status:=OCIAttrSetText (authp;<>username;OCI_ATTR_USERNAME ;$errhp)
$status:=OCIAttrSetText (authp;<>Password;OCI_ATTR_PASSWORD ;$errhp)
$status:=OCISessionBegin (svchp;$errhp;authp;OCI_CRED_RDBMS ;OCI_DEFAULT )
$status:=OCIAttrSetVal (svchp;authp;OCI_ATTR_SESSION ;$errhp)
$status:=OCIHandleAlloc (envhp;$stmthp;OCI_HTYPE_STMT )
$status:=OCIHandleAlloc (envhp;$errhp;OCI_HTYPE_ERROR )
C_TEXTE($query)
C_ENTIER LONG($max_emp)
`script SQL+
`create table test_table (ID number, Name varchar2(40));
$query:="INSERT INTO test_table (ID, Name) values (:P1,:P2)"
$status:=OCIStmtPrepare ($stmthp;$errhp;$query;OCI_DEFAULT )
C_POINTEUR(null_ind1;null_ind2;null_ind3)
$define:=0
$status:=OCIBindByPos ($stmthp;$define;$errhp;1;->[MaTable]ID;SQLT_INT ;null_ind1;null_ind2;null_ind3;OCI_DEFAULT ;BIND_IN )
$status:=OCIBindByPos ($stmthp;$define;$errhp;2;->[MaTable]Name;SQLT_STR ;null_ind1;null_ind2;null_ind3;OCI_DEFAULT ;BIND_IN )
Si ($status#0) `Si erreur, retourne l'erreur Oracle
$errornum:=1
status:=OCIErrorGet ($errhp;$errornum;$errorcode;$contents)
ALERTE($contents)
Fin de si
TOUT SELECTIONNER([MaTable])
DEBUT SELECTION([MaTable])
APPLIQUER A SELECTION([MaTable];$status:=OCIStmtExecute (svchp;$stmthp;$errhp;1;0;0;0;OCI_DEFAULT ))
$status:=OCIHandleFree ($stmthp)
$status:=OCISessionEnd (svchp;$errhp;authp)
$status:=OCIServerDetach (srvhp;$errhp)
$status:=OCICleanup (envhp)
 
|