如何在过程中使用sql

如何在过程中使用sql,sql,oracle,stored-procedures,plsql,Sql,Oracle,Stored Procedures,Plsql,我发现上面的代码有问题。错误消息是这样的 错误:程序进程1 行/列:8/1 PL/SQL:语句被忽略 行/列:8/27 PLS-00201:必须声明标识符“EMP_名称” 程序应如下所示: 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 e

我发现上面的代码有问题。错误消息是这样的

错误:程序进程1
行/列:8/1 PL/SQL:语句被忽略
行/列:8/27 PLS-00201:必须声明标识符“EMP_名称”


程序应如下所示:

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;

程序应如下所示:

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;

除了Littlefoot的答案之外,我强烈建议您锚定参数和变量声明,即emp_表_001中的
employee_id%type
employee_name emp_表_001中的emp_name%type-这样,如果更改列的大小,则无需修改代码。除了Littlefoot的答案外,我强烈建议您锚定参数和变量声明,即
emp_table_001中的employee_id.emp_id%type
employee_name emp_table_001.emp_name%type-这样,如果更改列的大小,则无需修改代码。