首页 > 解决方案 > 带有替换变量的 PL-SQL 块

问题描述

我必须编写 PL/SQL 块来打印具有相同 job_title 的人的薪水。Job_title 必须在替换变量中输入。我很难用“dbms_output.put_line”打印。sql还说join是不正确的。

 DECLARE
  v_jobt VARCHAR2(50);
  v_sal Number ;
BEGIN
  SELECT j.job_title,e.salary INTO v_jobt, v_sal 
  FROM jobs j
  JOIN  EMPLOYEES e
  ON JOBS.JOB_ID=EMPLOYEES.salary
  WHERE  j.job_title = '&job_title';
  DBMS_OUTPUT.PUT_LINE ('Job Title is : ' ||v_jobt);
END;

标签: sqlvariablessqlplussubstitution

解决方案


1,在'join'之后放置'where子句'

2、在'on'条件下使用别名

3、在...is前加一个单引号:'

如果您收到错误消息,请告诉我们您收到的消息。

尝试这个:

DECLARE
 v_lname VARCHAR2(50);
 v_sal Number;
BEGIN
  SELECT j.job_title,e.salary INTO v_lname, v_sal 
  FROM jobs j 
  JOIN  EMPLOYEES e
  ON j.JOB_ID = e.JOB_ID
  WHERE  j.job_title = '&job_title';
  DBMS_OUTPUT.PUT_LINE ('...is : ' ||v_lname);
END;

推荐阅读