相关疑难解决方法(0)

如何以编程方式在PL/SQL中设置表名?

我创建了以下简单的PL/SQL存储过程示例来询问特定问题.此过程将员工姓名和ID号插入到名为的表中employees_???.??? 解释如下.

PROCEDURE hire_employee (emp_id IN INTEGER, name IN VARCHAR2, country IN VARCHAR2) 
AS
BEGIN
    INSERT INTO employees_??? VALUES (emp_id, name, 1000);
END hire_employee;
Run Code Online (Sandbox Code Playgroud)

我需要的是根据IN变量设置表名country.例如,

如果country ='usa',我希望INSERT行读取:

INSERT INTO employees_usa VALUES (emp_id, name, 1000);
Run Code Online (Sandbox Code Playgroud)

如果country ='germany',我希望INSERT行读取:

INSERT INTO employees_germany VALUES (emp_id, name, 1000);
Run Code Online (Sandbox Code Playgroud)

如果country ='france',我希望INSERT行读取:

INSERT INTO employees_france VALUES (emp_id, name, 1000);
Run Code Online (Sandbox Code Playgroud)

等等...

有没有办法在PL/SQL中通过替换代替一些东西来执行此操作,employee_???因此只使用一行INSERT代码?或者使用caseif/then/else声明最好的方式?

oracle plsql

1
推荐指数
1
解决办法
9205
查看次数

标签 统计

oracle ×1

plsql ×1