与DBMS_SQL.PARSE相关的问题

时间:2011-03-15 16:04:35

标签: oracle plsql

我有一个像

这样的查询
queryStr := 'SELECT col1, col2, col3, col4 FROM Table1 WHERE date_created >= ';

然后我看到以下声明

DBMS_SQL.PARSE (cursor_handle, queryStr || ':date', DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cursor_handle, 'date', dateVariable);

现在我的问题是,dbms_sql.parse如何使用变量:date ,因为查询中没有:date占位符,即 queryStr

1 个答案:

答案 0 :(得分:3)

您的代码与此相同:

DBMS_SQL.PARSE (cursor_handle,
                'SELECT col1, col2, col3, col4 
                   FROM Table1 
                  WHERE date_created >= :date', 
                DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cursor_handle, 'date', dateVariable);

在第一个语句中解析查询。该语句有一个绑定变量(:date)。此绑定变量的值在第二个语句中给出。