Python 转换格式 SQL 字符串



因为要把静态sql处理成动态sql,所以需要使用python转换格式,例如

DROP TABLE TABLE_NAME PURE;
CREATE TABLE TABLE_NAME NOLOGGING AS
SELECT DUMMY USER_ID FROM DUAL;
CREATE INDEX I_TABLE_NAME_USER_ID ON TABLE_NAME(USER_ID) NOLOGGING;

我想将格式转换为:

首先确定是否存在"删除表",然后删除数据,替换

V_TAB_NAME: = 'TABLE_NAME';
IF (F_DROP_TAB (V_TAB_NAME) = 1) THEN
V_SQL: = ' 

最终结果显示为

V_TAB_NAME := 'TABLE_NAME ';
IF (F_DROP_TAB(V_TAB_NAME) = 1) THEN
SJ_SQL := '
CREATE TABLE TABLE_NAME NOLOGGING AS
SELECT DUMMY USER_ID FROM DUAL';
EXECUTE IMMEDIATE SJ_SQL;
COMMIT;
END IF;
SJ_SQL := '
CREATE INDEX I_TABLE_NAME_USER_ID ON TABLE_NAME (USER_ID) NOLOGGING';
EXECUTE IMMEDIATE SJ_SQL;

这可能有点难以理解,但我希望有人可以给我一个小字符串来迭代和判断修改后的示例或想法。谢谢。

下面是将变量插入 SQL 语句的简单方法:

table = 'mytable'
col1 = 'name'
col2 = 'age'
statement = 'select {}, {} from {};'.format(col1, col2, table)

这是你要找的吗?如果没有,我真的不明白这个问题。

最新更新