Plsql PL/SQL联合语句公共变量需要定义?
任何人都可以帮我如何定义工号,而不是通常键入每一行。我需要在代码的开头定义这个变量,脚本需要从那里调用它Plsql PL/SQL联合语句公共变量需要定义?,plsql,Plsql,任何人都可以帮我如何定义工号,而不是通常键入每一行。我需要在代码的开头定义这个变量,脚本需要从那里调用它 我希望得到任何一个查询的结果?请使用{}符号格式化查询。它不可读。您是否尝试从外部使用jobno=123?您需要在此处与表达式一起使用。外部我有define by Declare方法,但它无法工作。实际上我不认识神谕。我是一名在公司实施的学习者。因此,请更正我的代码并输入完整的代码。我想在这个脚本之外声明的Jobno在每个表中都应该被选中。请更正并放入完整的脚本。thanks@senthil
我希望得到任何一个查询的结果?请使用{}符号格式化查询。它不可读。您是否尝试从外部使用jobno=123?您需要在此处与表达式一起使用。外部我有define by Declare方法,但它无法工作。实际上我不认识神谕。我是一名在公司实施的学习者。因此,请更正我的代码并输入完整的代码。我想在这个脚本之外声明的Jobno在每个表中都应该被选中。请更正并放入完整的脚本。thanks@senthilkumar通过在代码中引入变量,您到底想要实现什么?它的目的是什么?我不想在每一行中键入Jobno,而是希望在脚本顶部定义,从那里程序应该调用automatic。谢谢你的回复。我期待你的答案如何做到这一点?不是很好的代码示例。至少您必须在INTO子句中说明如何使用变量。@Dmitry的问题是如何在PL/SQL中定义变量来引用它。我在答复中确实提到了这一关切。您是否建议为每个问题编写综合教程?
SELECT JOBNO,
SUBJOBNO,
SUM (IPCST) IPCST,
SUM (VAD) VAD,
SUM (WSTVAD) WSTVAD,
SUM (PRQTY) PRQTY,
SUM (ACC) ACC,
SUM (SGVAD) SGVAD
FROM ( SELECT jobno,
subjobno,
SUM (ipcost) IPCST,
0 VAD,
0 WSTVAD,
0 PRQTY,
0 ACC,
0 SGVAD
FROM stt_prdtl
WHERE jobno = 123 AND wktype = 100
GROUP BY jobno, subjobno
UNION
SELECT jobno,
subjobno,
0 IPCST,
SUM (vadncost) VAD,
0 WSTVAD,
0 PRQTY,
0 ACC,
0 SGVAD
FROM stt_prdtl
WHERE jobno = 123
GROUP BY jobno, subjobno
UNION
SELECT jobno,
subjobno,
0 IPCST,
0 VAD,
SUM (wstvadncost) WSTVAD,
0 PRQTY,
0 ACC,
0 SGVAD
FROM stt_prdtl
WHERE jobno = 123
GROUP BY jobno, subjobno
UNION
SELECT jobno,
subjobno,
0 IPCST,
0 VAD,
0 WSTVAD,
SUM (prdqty) PRQTY,
0 ACC,
0 SGVAD
FROM stt_prdtl
WHERE jobno = 123 AND wktype = 500
GROUP BY jobno, subjobno
UNION
SELECT jobno,
subjob,
0 IPCST,
0 VAD,
0 WSTVAD,
0 PRQTY,
SUM (acc_cost) ACC,
0 SGVAD
FROM stt_prhdr
WHERE jobno = 123 AND status = 'C'
GROUP BY jobno, subjob
UNION
SELECT jobno,
subjobno,
0 IPCST,
0 VAD,
0 WSTVAD,
0 PRQTY,
0 ACC,
SUM (sgvadcost) SGVAD
FROM stt_prdtl
WHERE jobno = 123 AND wktype = 500
GROUP BY jobno, subjobno)
GROUP BY jobno, subjobno
ORDER BY subjobno;
DECLARE
jobno_var number; // or jobno_var table.column%type;
BEGIN
// Now you can reference variable jobno_var anywhere in your code below
SELECT JOBNO,
SUBJOBNO,
SUM (IPCST) IPCST,
...
GROUP BY jobno, subjobno)
GROUP BY jobno, subjobno
ORDER BY subjobno;
END;