template::query::iterate (public, deprecated)

 template::query::iterate statement_name sql body

Defined in packages/acs-templating/tcl/deprecated-procs.tcl

Deprecated. Invoking this procedure generates a warning.

Parameters:
statement_name (required)
Standard db_api statement name used to hook into query dispatcher
sql (required)
Query to use when processing this command
body (required)
Code body to be execute for each result row of the returned query
See Also:

Testcases:
No testcase defined.
Source code:
ad_log_deprecated proc template::query::iterate

    db_with_handle db {
        set result [db_exec select $db $statement_name $sql 2]

        set rowcount 0

        while { [ns_db getrow $db $result] } {

            upvar __query_iterate_row row

            set row(rownum) [incr rowcount]

            set size [ns_set size $result]

            for { set i 0 } { $i < $size } { incr i } {

                set column [ns_set key $result $i]
                set row($column) [ns_set value $result $i]
            }

            # Execute custom code for each row
            uplevel "upvar 0 __query_iterate_row row; $body"
        }
    }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: