我正在编写一个类似于Tom Kyte的print_table
的函数,但是有更多的输出选项和更好的格式化等等。让我感到很困惑的是编写了一个函数,你可以用{{1}输入任意SQL - 而不是传递引用游标 - 非常危险!但是,我需要知道列属性,而AFAIK,除此之外别无他法。
是否有办法限制authid currentuser
功能,以便它只对dbms_sql.execute
个查询进行操作?或者,换句话说,有没有办法检查通过游标解析的DML的类型,然后,例如,如果除select
以外的其他任何内容,则引发异常?
查询的文本分析(例如,允许select
或select
,但没有其他内容)不起作用,因为您可以with
等...
(P.S。,Oracle 10gR2,如果它有所作为。)