我是 oracle 的新手。我创建了一个包含列的表并将数据插入表中 我的代码是:
create table Tbl_Job_Desc
(
id int,
name varchar2(50),
family varchar2(50),
jobname varchar2(50)
)
INSERT INTO Tbl_Job_Desc (id,name,family,jobname )VALUES (1,'negar','GHANBARIAN','PROGRAMMER');
INSERT INTO Tbl_Job_Desc (id,name,family,jobname )VALUES (1,'ZAHRA','GHANBARIAN','STUDENT');
INSERT INTO Tbl_Job_Desc (id,name,family,jobname )VALUES (1,'SHIRIN','SAEEDI','NURSE');
INSERT INTO Tbl_Job_Desc (id,name,family,jobname )VALUES (1,'FATEME','GHASEMI','TEACHER');
INSERT INTO Tbl_Job_Desc (id,name,family,jobname )VALUES (1,'mohammad','AZADI','PROGRAMMER');
我想写一个过程,从用户那里获取输入并产生一个更新语句,如下所示。 更新 Tbl_Job_Desc 设置 Jobname='newjob' 我写了这个程序但是我得到了错误,请看看我的程序并帮助我。 我的程序是:
CREATE OR replace PROCEDURE Ds_sampleTest (
newjob IN VARCHAR2
)
IS
newjob VARCHAR2(200);
query VARCHAR2(1000);
BEGIN
query := 'update Tbl_Job_Desc set Jobname='||newjob' ;
dbms_output.Put_line(query);
EXECUTE IMMEDIATE query;
END;
-- Run the Procedure
CL scr
SET serveroutput ON
BEGIN
Ds_sample( 'doctor');
COMMIT;
END;
我想写一个过程,从用户那里获取输入并产生一个更新语句,如下所示。 更新 Tbl_Job_Desc 设置 Jobname='newjob'
将您收到的错误消息添加到您的问题中会有所帮助。
如果贴出你的代码没有错误,那么我认为你的错误与这部分代码有关:
query := 'update Tbl_Job_Desc set Jobname='||newjob' ;
在这种情况下,如果你想在文本中添加引号,你需要在文本中双引号,你的例子中正确的代码是:
query := 'update Tbl_Job_Desc set Jobname='''||newjob||'''' ;
这会将查询保存为:
update Tbl_Job_Desc set Jobname='your_newjob'