INSERT INTO
emp (empno, ename)
VALUES
(:empno,:ename)
RETURNING
ROWID
INTO
:rid
" ); $data = array( 1111 => "Larry" , 2222 => "Bill" , 3333 => "Jim" ); $rowid = oci_new_descriptor ( $conn , OCI_D_ROWID ); oci_bind_by_name ( $stmt , ":empno" , $empno , 32 ); oci_bind_by_name ( $stmt , ":ename" , $ename , 32 ); oci_bind_by_name ( $stmt , ":rid" , $rowid , - 1 , OCI_B_ROWID ); $update = oci_parse ( $conn , "
UPDATE
emp
SET
sal = :sal
WHERE
ROWID = :rid
" ); oci_bind_by_name ( $update , ":rid" , $rowid , - 1 , OCI_B_ROWID ); oci_bind_by_name ( $update , ":sal" , $sal , 32 ); $sal = 10000 ;
foreach ( $data as $empno => $ename ) { oci_execute ( $stmt ); oci_execute ( $update );
} $rowid -> free (); oci_free_statement ( $update ); oci_free_statement ( $stmt ); $stmt = oci_parse ( $conn , "
SELECT
*
FROM
emp
WHERE
empno
IN
(1111,2222,3333)
" ); oci_execute ( $stmt );
while ( $row = oci_fetch_assoc ( $stmt )) { var_dump ( $row );
} oci_free_statement ( $stmt ); $stmt = oci_parse ( $conn , "
DELETE FROM
emp
WHERE
empno
IN
(1111,2222,3333)
" ); oci_execute ( $stmt ); oci_free_statement ( $stmt ); oci_close ( $conn ); ?>