oracle sql 脚本 Insert into () select a,b,c from table_name 其中a列名,是参数传进来的,如果设置了这个参数,就用这个参数的值,如果没有设置,就用从表里查出的值
时间: 2024-03-29 18:39:01 浏览: 78
sqlserver 根据内容,查询表和列名字
你可以使用 PL/SQL 中的条件语句来实现这个功能,例如使用 IF-THEN-ELSE 语句。下面是一个示例脚本:
DECLARE
v_a table_name.a%TYPE;
BEGIN
IF :parameter_a IS NOT NULL THEN
v_a := :parameter_a;
ELSE
SELECT a INTO v_a FROM table_name WHERE ...; -- 根据需要设置查询条件
END IF;
INSERT INTO table_name (a, b, c) VALUES (v_a, b, c);
END;
其中 :parameter_a 是传入的参数,table_name.a%TYPE 表示变量 v_a 的数据类型与表的 a 列相同。在 IF 语句中,如果传入的参数不为空,则使用参数的值;否则,使用 SELECT 语句从表中查询出 a 列的值并赋给变量 v_a。最后使用 INSERT INTO 语句插入数据。
阅读全文