如何在程序中使用SQL

时间:2018-12-14 08:32:43

标签: sql oracle stored-procedures plsql

CREATE TABLE emp_table_001
(
    emp_id NUMBER(10) PRIMARY KEY,
    emp_name VARCHAR2(50) 
);

INSERT INTO emp_table_001 VALUES(1,'addeesh');
INSERT INTO emp_table_001 VALUES(2,'arunkumar');
INSERT INTO emp_table_001 VALUES(3,'ashok');
INSERT INTO emp_table_001 VALUES(4,'bharath');
INSERT INTO emp_table_001 VALUES(5,'durairaj');

select * from emp_table_001

CREATE OR REPLACE PROCEDURE proc_1(employee_id IN NUMBER)
IS
    employee_name VARCHAR2(50);
BEGIN
SELECT emp_name INTO employee_name FROM emp_table_001
WHERE emp_id = employee_id;

DBMS_OUTPUT_LINE('NAME:'||emp_name);
END;

我在使用上面的代码时遇到了麻烦。错误消息是这个

  

错误:PROCEDURE PROC_1
  行/颜色:8/1 PL / SQL:语句被忽略
  Line / Col:8/27 PLS-00201:必须声明标识符“ EMP_NAME”

1 个答案:

答案 0 :(得分:2)

该过程应如下所示:

CREATE OR REPLACE PROCEDURE proc_1 (employee_id IN NUMBER)
IS
   employee_name   emp_table_001.emp_name%TYPE;
BEGIN
   SELECT emp_name
     INTO employee_name
     FROM emp_table_001
    WHERE emp_id = employee_id;

   DBMS_OUTPUT.PUT_LINE ('NAME:' || employee_name);   --> this was wrong
END;