我是PL SQL Code的新手,需要帮助编写Insert查询语句。 例如:我想在Employees表中插入Employee,其中只有员工姓名更改,但城市是不变的。
DECLARE
emp_var_prefix varchar2(12) := 'QATEST';
emp_var_temp varchar2(12) := '';
city constant varchar(30) := 'dallas'
begin
DBMS_OUTPUT.ENABLE;
for i in 1..2 loop
emp_var_temp := emp_var_prefix;
emp_var_temp := emp_var_prefix ||i;
INSERT INTO EMPLOYEE TABLE ('EMPLOYEE_NAME', 'CITY') values ('emp_var_temp', '<what should I put here for constant dallas for city name>');
DBMS_OUTPUT.PUT_LINE(emp_var_temp);
end loop;
END;
答案 0 :(得分:2)
看起来你想要像
这样的东西DECLARE
l_emp_var_prefix varchar2(12) := 'QATEST';
l_emp_var_temp varchar2(12) := '';
l_city constant varchar(30) := 'dallas'
begin
DBMS_OUTPUT.ENABLE;
for i in 1..2 loop
l_emp_var_temp := l_emp_var_prefix ||i;
INSERT INTO EMPLOYEE(employee_name, city)
values (l_emp_var_temp, l_city );
DBMS_OUTPUT.PUT_LINE(l_emp_var_temp);
end loop;
END;
一般来说使用也是列名的变量名是一个坏主意 - 这使得你很可能会遇到你想要引用变量的范围错误而编译器无意中假设你意思是指专栏。那些调试相当讨厌。更容易采用一些约定,例如使用l_
为局部变量添加前缀,以区别于可以使用p_
作为前缀的列名或参数。