Re: Pro*C -- How to pass a value into a Dynamic SQL (Method 3).
Date: 25 Mar 1995 02:28:08 GMT
Message-ID: <3kvv3o$fhj_at_Twain.MO.NET>
Yih-feng Hwang (CS 688) (yhwang) wrote:
: Hi there,
: I got a problem about how to pass a value (NAME of table or column) into
: a dynamic SQL (method 3).
: The following problem is a sample.
: strcpy((char *) sqlstmt.arr,
: "SELECT distinct :col FROM :tab");
: sqlstmt.len = strlen((char *) sqlstmt.arr);
: ....
: EXEC SQL PREPARE S FROM :sqlstmt;
: EXEC SQL DECLARE C CURSOR FOR S;
: EXEC SQL OPEN C USING :col_namei, :tab_name;
: ....
: ============================================
: Is it possible to do this way ?
: (In the programmer guide, P.9-13, " However, the names of database objects such
: as tables and columns need not be specified until run time")
: Thanks in advanced,
How about:
sqlstmt.len = sprintf((char *) sqlstmt.arr,
"SELECT distinct %s FROM %s", col_name, tab_name);
....
EXEC SQL PREPARE S FROM :sqlstmt;
EXEC SQL DECLARE C CURSOR FOR S; EXEC SQL OPEN C; Received on Sat Mar 25 1995 - 03:28:08 CET