Annotation of embedaddon/php/ext/oci8/tests/bind_rowid.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test ROWID bind
3: --SKIPIF--
4: <?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
5: --FILE--
6: <?php
7:
8: require(dirname(__FILE__)."/connect.inc");
9:
10: function do_query($c)
11: {
12: $s = oci_parse($c, 'select address from rid_tab order by id');
13: $id = 1;
14: oci_execute($s, OCI_DEFAULT);
15: while ($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS)) {
16: var_dump($row);
17: }
18: }
19:
20: $stmtarray = array(
21: "drop table rid_tab",
22: "create table rid_tab (id number, address varchar2(40))",
23: "insert into rid_tab (id, address) values (1, 'original text #1')",
24: "insert into rid_tab (id, address) values (2, 'original text #2')"
25: );
26:
27: oci8_test_sql_execute($c, $stmtarray);
28:
29: echo "Initial Data\n";
30: do_query($c);
31:
32: $s = oci_parse($c, 'select rowid, address from rid_tab where id = :l_bv for update');
33: $id = 1;
34: oci_bind_by_name($s, ':l_bv', $id);
35: oci_execute($s, OCI_DEFAULT);
36: $row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS);
37:
38: $rid = $row['ROWID'];
39: $addr = $row['ADDRESS'];
40:
41: $addr = 'Some new text';
42:
43: // Save changes
44: $s = oci_parse($c,'update rid_tab set address = :a_bv where rowid = :r_bv');
45: oci_bind_by_name($s, ':r_bv', $rid, -1, OCI_B_ROWID);
46: oci_bind_by_name($s, ':a_bv', $addr);
47: oci_execute($s);
48:
49: echo "Verify Change\n";
50: do_query($c);
51:
52: // Cleanup
53:
54: $stmtarray = array(
55: "drop table rid_tab"
56: );
57:
58: oci8_test_sql_execute($c, $stmtarray);
59:
60: echo "Done\n";
61:
62: ?>
63: --EXPECT--
64: Initial Data
65: array(1) {
66: ["ADDRESS"]=>
67: string(16) "original text #1"
68: }
69: array(1) {
70: ["ADDRESS"]=>
71: string(16) "original text #2"
72: }
73: Verify Change
74: array(1) {
75: ["ADDRESS"]=>
76: string(13) "Some new text"
77: }
78: array(1) {
79: ["ADDRESS"]=>
80: string(16) "original text #2"
81: }
82: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>