我坚持使用Oracle Plus的这个Homework问题,因此任何指向正确方向的指针都会很棒。我需要......
" 1.创建一个脚本,该脚本将带有一个分区参数(DIV)和脚本执行,并为该部门的所有员工生成员工报告。"
这是相关表格的布局
司 -Division_ID,名称
Employees2 ,Employee_ID,Division_ID,Job_ID,First_Name,Last_Name,Salary
到目前为止我已经
了SET DEFINE '#'
SELECT Last_Name || ‘,’ || first_name AS Name, Divisions.Name
FROM Employees INNER JOIN Divisions
ON Employees2.Division_ID = Divisions.Divisions_ID
WHERE Division_ID = #v_Division_ID
它要求我输入division_id,但是当我把它放入其中时它不起作用。现在,Division_ID列不是数字而是缩写,例如" SAL"对于销售似乎错误是因为oracle plus不会把字母作为输入而只是数字?有没有办法制作这个脚本,所以它接受不是数字的字符串/数据,而是像" sal"?
答案 0 :(得分:0)
当将替换变量与VARCHAR2进行比较时,您需要输入要提供的值,例如'SAL',周围有单引号。
以下是SCOTT示例模式的示例:
SCOTT@dev> SET DEFINE '#'
SCOTT@dev>
SCOTT@dev>
SCOTT@dev> SELECT e.ename employee_name
2 FROM emp e
3 INNER JOIN dept d
4 ON e.deptno = d.deptno
5 WHERE d.dname = #v_dname
6 /
Enter value for v_dname: 'SALES'
old 5: WHERE d.dname = #v_dname
new 5: WHERE d.dname = 'SALES'
EMPLOYEE_N
==========
ALLEN
WARD
MARTIN
BLAKE
TURNER
JAMES
6 rows selected.
因此,对您而言,您只需为#v_Division_ID输入“SAL”。