Annotation of embedaddon/php/ext/oci8/tests/cursor_bind.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: bind and fetch cursor from a statement
3: --SKIPIF--
4: <?php
5: $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
6: require(dirname(__FILE__).'/skipif.inc');
7: ?>
8: --FILE--
9: <?php
10:
11: require(dirname(__FILE__)."/connect.inc");
12:
13: // Initialization
14:
15: $stmtarray = array(
16: "drop table cursor_bind_tab",
17: "create table cursor_bind_tab (id NUMBER, value VARCHAR(20))",
18: "insert into cursor_bind_tab values (1, '1')",
19: "insert into cursor_bind_tab values (1, '1')",
20: "insert into cursor_bind_tab values (1, '1')"
21: );
22:
23: oci8_test_sql_execute($c, $stmtarray);
24:
25: $sql = "
26: DECLARE
27: TYPE curtype IS REF CURSOR;
28: cursor_var curtype;
29: BEGIN
30: OPEN cursor_var FOR SELECT id, value FROM cursor_bind_tab;
31: :curs := cursor_var;
32: END;
33: ";
34:
35: $stmt = oci_parse($c, $sql);
36:
37: $cursor = oci_new_cursor($c);
38: oci_bind_by_name($stmt, ":curs", $cursor, -1, OCI_B_CURSOR);
39:
40: oci_execute($stmt);
41:
42: oci_execute($cursor);
43: var_dump(oci_fetch_row($cursor));
44: var_dump(oci_fetch_row($cursor));
45: var_dump(oci_fetch_row($cursor));
46: var_dump(oci_fetch_row($cursor));
47:
48: // Clean up
49:
50: $stmtarray = array(
51: "drop table cursor_bind_tab"
52: );
53:
54: oci8_test_sql_execute($c, $stmtarray);
55:
56: ?>
57: ===DONE===
58: <?php exit(0); ?>
59: --EXPECT--
60: array(2) {
61: [0]=>
62: string(1) "1"
63: [1]=>
64: string(1) "1"
65: }
66: array(2) {
67: [0]=>
68: string(1) "1"
69: [1]=>
70: string(1) "1"
71: }
72: array(2) {
73: [0]=>
74: string(1) "1"
75: [1]=>
76: string(1) "1"
77: }
78: bool(false)
79: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>