【发布时间】:2015-02-07 03:51:06
【问题描述】:
我正在使用 Oracle 11g 数据库开发旧版应用程序,并且遇到了一个问题,即我有 5 个表,它们都在不同的模式中,具有相同的数据结构。我需要能够将数据插入这些表中,并且我正在努力避免重复代码。
我知道做如下的事情
IF p_schema = SCHEMA1 THEN
INSERT INTO SCHEMA1.TABLE_NAME_SCHEMA1 (...) VALUES (...)
ELSIF p_schema = SCHEMA2 THEN
INSERT INTO SCHEMA2.TABLE_NAME_SCHEMA2 (...) VALUES (...)
ELSIF p_schema = SCHEMA3 THEN
INSERT INTO SCHEMA3.TABLE_NAME_SCHEMA3 (...) VALUES (...)
ELSIF p_schema = SCHEMA4 THEN
INSERT INTO SCHEMA4.TABLE_NAME_SCHEMA4 (...) VALUES (...)
ELSIF p_schema = SCHEMA5 THEN
INSERT INTO SCHEMA5.TABLE_NAME_SCHEMA5 (...) VALUES (...)
END IF;
有没有什么办法可以让表名成为 SQL 中的变量,这样我就可以只做一个插入语句,但插入到我想要的表中?
【问题讨论】:
-
请描述您迄今为止所做的努力和结果。
标签: sql oracle11g sql-insert