我想编写一个PLSQL过程,它接受一个SQL字符串作为参数,并确定该SQL语句是SELECT、INSERT、UPDATE或DELETE语句还是OTHER语句,如果不是上述语句(例如,如果它是DDL语句),或者它可能返回DDL,但可能仍然需要“OTHER”。
在任何情况下,因为SQL当然会变得非常复杂并且变化很大,所以我认为唯一的方法是利用Oracle内置的SQL解析引擎(如果该功能公开的话)。
数据库管理系统_SQL库https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_SQL.html#GUID-C96D5BAA-29A9-4AB5-A69E-E31228ECC9E9
想办法,但我想我会看看是否还有人在这方面有经验...
1条答案
按热度按时间bnl4lu3b1#
也许你可以使用解释计划表来得到它。类似这样:
如果用一些sql语句调用该过程...