Procedure does not--a number not valid online 12
Question: Dear professional PL/SQL! I'm a little desperate as my procedure does not work for all my variables. The debugger in SQL-Developer produces a message error "invalid number on line 12. I checked back and fourth but can't find any error.You can find the bug or lead my on the right track?
Here are some example data:
P_CNT_GEBIET =' 5630-372
P_STR_LRT = '9170'
P_WG = 5
P_BE = 1
Curious is the fact that it works perfectly when P_STR_LRT is '9110'. With '9170' or '9171' it doesn't work anymore.
Any help is greatly appreciated.
BR,
SEB
My Proc:
create or replace
PROCEDURE PROC_TBL_MATRIX_INTMED_CE
(
P_CNT_GEBIET VARCHAR2,
P_STR_LRT VARCHAR2,
P_BE NUMBER,
P_WG NUMBER)
AS
BEGIN
DECLARE
CNUMBER number;
BEGIN
SELECT COUNT(*)
INTO CNUMBER
FROM TBL_MATRIX_INTERMEDIATE_RESULT
WHERE LNG_GEBIET = P_CNT_GEBIET
AND STR_LRT_CLASS = P_STR_LRT
AND INT_BE = P_BE
AND INT_WG = P_WG
AND EVAL_TYPE = 2;
IF CNUMBER = 0 THEN
INSERT INTO TBL_MATRIX_INTERMEDIATE_RESULT (LNG_BAUMART, STR_BA_LANG, STR_BA_KAT, STR_BA_GRUPPE, INT_PROZENT, INT_SELTEN, EVAL_TYPE, FLAG, LNG_GEBIET, STR_LRT_CLASS, INT_WG, INT_BE, STR_GEWERTET)
SELECT
Z.CNT_BAUMART, Z.BA_LANG, Z.BA_KAT, Z.BA_GRUPPE, Z.PROZENT, DECODE(Z.BA_KAT,'B','von Natur aus selten') AS SELTEN, 2, 0, P_CNT_GEBIET, P_STR_LRT, P_WG, P_BE,
CASE WHEN Z.CNT_BAUMART = 74 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (5, 6, 7, 8, 9, 81))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 72 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (22,23,24,25,26,27))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 71 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (46,47))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 54 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (13, 14, 15))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 53 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (28,29,30,31,32,33,79))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 78 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (62))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.BA_KAT = 'N' AND Z.PROZENT > 1 THEN 'Ja'
WHEN Z.BA_KAT = 'H' AND Z.PROZENT > 1 THEN 'Ja'
WHEN Z.BA_KAT = 'P' AND Z.PROZENT > 1 THEN 'Ja'
WHEN Z.BA_KAT = 'B' AND Z.PROZENT !=0 THEN 'Ja' ELSE 'Nein' END AS GEWERTET
FROM ((SELECT
B.CNT_BAUMART,
B.BA_LANG,
X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT,
X.BA_GRUPPE
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT, X.BA_GRUPPE
)
UNION ALL
(SELECT DISTINCT R.CNT_BAUMART, R.BA_LANG, D.BA_KAT,
NULL PROZENT,
DECODE(R.BA_GRUPPE,1,'Ba-Grp. 1',2,'Ba-Grp. 2',3,'Ba-Grp 3',4,'Ba-Grp. 4',5,'Ba-Grp. 5',6,'Ba-Grp. 6',7,'Ba-Grp. 7',8,'Ba-Grp. 8') BA_GRUPPE
FROM VT_TBL_BAUMART R, VT_TBL_MATRIX_CUSTOM_EVAL D
WHERE
R.CNT_BAUMART = D.LNG_BAUMART
AND (D.LRT_CLASS = P_STR_LRT)
AND D.BA_KAT IN ('B','H', 'P', 'N')
AND (R.CNT_BAUMART NOT IN (SELECT DISTINCT
B4.CNT_BAUMART
FROM
VT_TBL_BESTAND V4,
VT_PUNKTDATEN_JOIN P4,
VT_TBL_BAUMART B4,
VT_TBL_MATRIX_CUSTOM_EVAL X4
WHERE
(P4.CNT_GEBIET = P_CNT_GEBIET)
AND (V4.LNG_BAUMART = B4.CNT_BAUMART)
AND (V4.LNG_INV_PT_ID = P4.INV_PT_ID_SUB)
AND (P4.STR_LRT_MAIN = P_STR_LRT)
AND (P4.INT_WG = P_WG)
AND (P4.INT_BE_MAIN = P_BE)
AND (P4.INT_STATUS_SUB = 3)
AND (X4.LNG_GEBIET= P_CNT_GEBIET)
AND (X4.LRT_CLASS = P_STR_LRT)
AND (X4.INT_WG = P_WG)
AND (X4.INT_BE = P_BE)
AND (X4.LNG_BAUMART=V4.LNG_BAUMART))))
) Z
GROUP BY
CNT_BAUMART, BA_LANG, BA_KAT, BA_GRUPPE, PROZENT
UNION
SELECT NULL, 'Gewertete BA > 1%' BA_LANG, NULL, NULL, NULL, NULL, 2, 1, P_CNT_GEBIET, P_STR_LRT, P_WG, P_BE, (SELECT TO_CHAR(COUNT(GEWERTET)) GEWERTET FROM (SELECT
Z.CNT_BAUMART, Z.BA_KAT, Z.BA_GRUPPE, Z.PROZENT ,
CASE WHEN Z.CNT_BAUMART = 74 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (5, 6, 7, 8, 9, 81))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 72 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (22,23,24,25,26,27))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 71 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (46,47))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 54 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (13, 14, 15))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 53 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (28,29,30,31,32,33,79))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.CNT_BAUMART = 78 AND Z.PROZENT IS NOT NULL AND (SELECT COUNT(*) FROM(SELECT
B.CNT_BAUMART, B.BA_LANG, X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
AND (B.CNT_BAUMART IN (62))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT
)) = 0 THEN 'Ja'
WHEN Z.BA_KAT = 'N' AND Z.PROZENT > 1 THEN 'Ja'
WHEN Z.BA_KAT = 'H' AND Z.PROZENT > 1 THEN 'Ja'
WHEN Z.BA_KAT = 'P' AND Z.PROZENT > 1 THEN 'Ja'
WHEN Z.BA_KAT = 'B' AND Z.PROZENT !=0 THEN 'Ja' ELSE 'Nein' END AS GEWERTET
FROM ((SELECT
B.CNT_BAUMART,
B.BA_LANG,
X.BA_KAT,
SUM(V.DBL_BESTAND) * 100 / (SELECT SUM(V2.DBL_BESTAND)
FROM VT_TBL_BESTAND V2,
VT_PUNKTDATEN_JOIN P2
WHERE (P2.CNT_GEBIET = P_CNT_GEBIET)
AND (V2.LNG_INV_PT_ID = P2.INV_PT_ID_SUB)
AND (P2.STR_LRT_MAIN = P_STR_LRT)
AND (P2.INT_WG = P_WG)
AND (P2.INT_STATUS_SUB = 3)
AND (P2.INT_BE_MAIN = P_BE)) AS PROZENT,
X.BA_GRUPPE
FROM
VT_TBL_BESTAND V,
VT_PUNKTDATEN_JOIN P,
VT_TBL_BAUMART B,
VT_TBL_MATRIX_CUSTOM_EVAL X
WHERE
(P.CNT_GEBIET = P_CNT_GEBIET)
AND (V.LNG_BAUMART = B.CNT_BAUMART)
AND (V.LNG_INV_PT_ID = P.INV_PT_ID_SUB)
AND (P.STR_LRT_MAIN = P_STR_LRT)
AND (P.INT_WG = P_WG)
AND (P.INT_BE_MAIN = P_BE)
AND (P.INT_STATUS_SUB = 3)
AND (X.LNG_GEBIET= P_CNT_GEBIET)
AND (X.LRT_CLASS = P_STR_LRT)
AND (X.INT_WG = P_WG)
AND (X.INT_BE = P_BE)
AND (X.LNG_BAUMART = V.LNG_BAUMART)
AND (X.BA_KAT IN ('B','H', 'P', 'N'))
GROUP BY B.CNT_BAUMART, B.BA_LANG, X.BA_KAT, X.BA_GRUPPE
)
UNION ALL
(SELECT DISTINCT R.CNT_BAUMART, R.BA_LANG, D.BA_KAT,
NULL PROZENT,
DECODE(R.BA_GRUPPE,1,'Ba-Grp. 1',2,'Ba-Grp. 2',3,'Ba-Grp 3',4,'Ba-Grp. 4',5,'Ba-Grp. 5',6,'Ba-Grp. 6',7,'Ba-Grp. 7',8,'Ba-Grp. 8') BA_GRUPPE
FROM VT_TBL_BAUMART R, VT_TBL_MATRIX_CUSTOM_EVAL D
WHERE
R.CNT_BAUMART = D.LNG_BAUMART
AND (D.LRT_CLASS = P_STR_LRT)
AND D.BA_KAT IN ('B','H', 'P', 'N')
AND (R.CNT_BAUMART NOT IN (SELECT DISTINCT
B4.CNT_BAUMART
FROM
VT_TBL_BESTAND V4,
VT_PUNKTDATEN_JOIN P4,
VT_TBL_BAUMART B4,
VT_TBL_MATRIX_CUSTOM_EVAL X4
WHERE
(P4.CNT_GEBIET = P_CNT_GEBIET)
AND (V4.LNG_BAUMART = B4.CNT_BAUMART)
AND (V4.LNG_INV_PT_ID = P4.INV_PT_ID_SUB)
AND (P4.STR_LRT_MAIN = P_STR_LRT)
AND (P4.INT_WG = P_WG)
AND (P4.INT_BE_MAIN = P_BE)
AND (P4.INT_STATUS_SUB = 3)
AND (X4.LNG_GEBIET= P_CNT_GEBIET)
AND (X4.LRT_CLASS = P_STR_LRT)
AND (X4.INT_WG = P_WG)
AND (X4.INT_BE = P_BE)
AND (X4.LNG_BAUMART=V4.LNG_BAUMART))))
) Z
) WHERE GEWERTET = 'Ja') PROZENT FROM DUAL;
END IF;
END;
END PROC_TBL_MATRIX_INTMED_CE;
Hello
It's a question of data.
All the values you pass for column LNG_GEBIET?
Concerning
AJR
Tags: Database
Similar Questions
-
Why PL/SQL procedures does not allow users to enter data dynamically at run time?
Dear all,
I tried to do a procedure that will search for a group of approval in our database that matches.
(1) the number of levels
(2) the number of users by each level
(3) the id of users by level
entered by the user.
I tried various methods to receive user input dynamically at run time, but in vain.
Finally finished my procedure allowing the user to enter the parameters and then executes the procedure, to which these parameters are passed as arguments. (1 variable for the number of levels and 2 userdefinedarrays with the number of users by level and level respectively)
Why PL/SQL procedures does not allow users to enter data dynamically at run time?
Thanks in advance,
Séverine Suresh
HEY, Sebastian,
3035408 wrote:
Hello Sir,
My question is that if I'm going to say, the number of levels 5, is there any way by which, at runtime, the procedure prompts me to enter at the start of the number of users per level. Now as soon as I get the number of users per level can I do the procedure ask me to enter the nicknames of the members of each level. I mean, something like a invite.
Thank you
Séverine Suresh
There is no way to do it in SQL or PL/SQL, because not SQL PL/SQL is a way to get user input. User interaction is a job for your front end, like Zlatko tool suggested in response to #5. If your front end tool is SQL * Plus, you can use the substtitution variables, as Jarkko showed in response #6.
-
I created a Web site and it is actually connected live. My login is working locally, but it does not work online. Could you please help me?
Hi Hervé Joseph,
Your question is more complex than what is generally answered in the Microsoft Answers forums. Appropriate in the MSDN Internet Explorer development Forums.
Please post your question in the MSDN Internet Explorer development Forums
-
Procedure does not display output
Hello!
The following procedure does not show the output.
{create or replace procedure GET_USER
(username_in IN VARCHAR2, password_in IN VARCHAR2, OUT VARCHAR2 first_name, last_name OUT VARCHAR2)
is
Start
Declare the cursor is c_user (users.username%TYPE, i_password IN users.password%TYPE IN i_username)
Select first_name, last_name
users
where username_in = i_username
and password_in = i_password;
i_username users.username%TYPE;
i_password users.password%TYPE;
l_first_name users.first_name%TYPE;
l_last_name users.last_name%TYPE;
Start
If c_user % isopen then
close c_user;
end if;
Open c_user (i_username, i_password);
extract the c_user in l_first_name l_last_name;
close c_user;
first name: = l_first_name;
name: = l_last_name;
end;
end GET_USER ;}
Output showing only:
Name =
Last_name =
Thanks for any help!Assuming that your cursor never returns a line with name of user and password (if it is not, which seems quite a big security hole!), then your code could just be rewritten:
create or replace procedure GET_USER (p_username_in IN VARCHAR2, p_password_in IN VARCHAR2, p_first_name OUT VARCHAR2, p_last_name OUT VARCHAR2) is begin select first_name, last_name into p_first_name, p_last_name from users where username_in = p_username_in and password_in = p_password_in; end GET_USER; /
I modified your parameter names, as they have matched the same names as the columns in your table, and it's usually a Really Bad Idea (tm)! Keep all your unique identifiers, and you will have less problems!
-
Hi all
I'm writing a procedure that contains a loop, however its compilation does not. Please take a look.
I'm using Oracle 11 g and SQL Dev 3.0.
Let me explain what I'm trying to do, the procedure is to loop through the layout table for the submission_id where status_code in 1 and 3.
Then, I need to use a case statement to check the status_code. When status_code = 1 do something when status_code = 3 do something else.
Currently, my procedure is not compiled, please take a look at my procedure below.
Errorscreate or replace PROCEDURE RUN_ENQUEUE AS CODE NUMBER(2) := 0; BEGIN FOR I IN (SELECT SUBMISSION_ID FROM USSC_CASES.SUBMISSION WHERE STATUS_CODE IN (1,3)) LOOP SELECT STATUS_CODE INTO CODE FROM USSC_CASES.SUBMISSION WHERE SUBMISSION_ID = I.SUBMISSION_ID; //getting status_code for current submission_id (I.SUBMISSION_ID) CASE -- SUBMIT CASES WHEN CODE = 1 // CHECK CODE THEN EXECUTE ONDEMAND_CASE_QUEUE_PKG.ENQUEUE_SUBMIT(I.SUBMISSION_ID) -- REJECT CASES WHEN CODE = 3 THEN EXECUTE ONDEMAND_CASE_QUEUE_PKG.ENQUEUE_REJECT(I.SUBMISSION_ID) END; END LOOP; END RUN_ENQUEUE;
Thanks for the help.Error(17,18): PLS-00103: Encountered the symbol "ONDEMAND_CASE_QUEUE_PKG" when expecting one of the following: := . ( @ % ; immediate The symbol ":=" was substituted for "ONDEMAND_CASE_QUEUE_PKG" to continue. Error(19,4): PLS-00103: Encountered the symbol "WHEN" when expecting one of the following: . ( * % & = - + ; < / > at in is mod remainder not rem <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset The symbol ";" was substituted for "WHEN" to continue. Error(20,18): PLS-00103: Encountered the symbol "ONDEMAND_CASE_QUEUE_PKG" when expecting one of the following: := . ( @ % ; immediate The symbol ":=" was substituted for "ONDEMAND_CASE_QUEUE_PKG" to continue. Error(21,3): PLS-00103: Encountered the symbol "END" when expecting one of the following: . ( * % & = - + ; < / > at in is mod remainder not rem <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset
I just edited, missing the *; * After the ONDEMAND_CASE_QUEUE_PKG call. ENQUEUE_SUBMIT procedures.
Please try to run it again:
create or replace PROCEDURE RUN_ENQUEUE AS CODE NUMBER(2) := 0; BEGIN FOR I IN (SELECT SUBMISSION_ID FROM USSC_CASES.SUBMISSION WHERE STATUS_CODE IN (1,3)) LOOP SELECT STATUS_CODE INTO CODE FROM USSC_CASES.SUBMISSION WHERE SUBMISSION_ID = I.SUBMISSION_ID; IF CODE = 1 THEN ONDEMAND_CASE_QUEUE_PKG.ENQUEUE_SUBMIT(I.SUBMISSION_ID); ELSIF CODE = 3 THEN ONDEMAND_CASE_QUEUE_PKG.ENQUEUE_REJECT(I.SUBMISSION_ID); END IF; END LOOP; END RUN_ENQUEUE;
-
For loop stored procedure does not
Hello
I wrote a stored procedure that does not work (I mean do not display data)
I set serveroutput on option also.
If I run as a single SQL query its working very well. so please help
create or replace procedure show_empnos (p_deptno number)
is
emp_id emp. EMP_ID % TYPE;
cursor cur_emps is
Select emp_id emp where department_id = '12';
Start
for a cur_emps in
loop
dbms_output.put_line (emp_id);
end loop;
end;
See, when I ran that a single SQL interrogate data dosplayed
SQL > select emp_id from emp where department_id = '12';
EMP_ID
----------
* 101 *.
* 101 *.
* 101 *.
Help, please.You declare a local variable EMP_ID you initialize ever, so it will always be NULL.
In your cursor, you also select a column EMP_ID.The line
dbms_output.put_line(emp_id);
solve the use of uninitialized local variable and then print a NULL value (which would appear as a blank line in the output). Assuming you want to return the value of the column EMP_ID your cursor, you need
dbms_output.put_line(a.emp_id);
As a general approach, including local variables whose names match exactly in the name of a column will create problems on the line where you write the code assumes that you speak for column only to discover that the identifier is resolved to the local variable instead. If you need a local variable to store the EMP_ID, therefore, it would make much more sense to declare it as
l_emp_id emp.EMP_ID%TYPE;
While it is not accidentally get confused with the name of the column.
Finally, if department_id is a NUMBER, it should be compared to a number, not a string, i.e.
WHERE department_id = 12
Justin
-
Trigger that executes the stored procedure does not
I have a trigger on a table which triggers the update of the column 'APPLICATION_OFFER_SENT '! The trigger looks like this:
Simply, he runs a procedure and takes the "PK_APPLICATION_NO" as a single parameter.CREATE OR REPLACE TRIGGER SCHEMA.COPY_APPLICATIONS AFTER UPDATE OF APPLICATION_OFFER_SENT ON PPLE_T_APPLICATION REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN UPDATE_OR_INSERT_APPL(:old.PK_APPLICATION_NO); END;
When I run the SP itdefl: exec UPDATE_OR_INSERT_APPL (1042); It works very well.
But when its done through the relaxation it doesn't?
The Proc looks like this:
Published by: oraCraft on Oct / 09/2010 09:11CREATE OR REPLACE PROCEDURE SCHEMA.UPDATE_OR_INSERT_APPL (IN_APPL_NO NUMBER) IS CURSOR c1 IS SELECT title, fullname, universityid, appl_no, appl_no_hash, OFFER_EXPIRATION_DATE, APPLICATION_CANCEL_DATE, room_hall FROM SCHEMA.ACCOM_APPLICATION_VIEW WHERE appl_no = IN_APPL_NO; rowcnt NUMBER; BEGIN FOR rec IN c1 LOOP SELECT COUNT(*) INTO rowcnt FROM SCHEMA2.ACCOMM_OFFER_ACCEPTANCE a WHERE a.appl_no = IN_APPL_NO; IF rowcnt = 0 THEN INSERT INTO SCHEMA2.ACCOMM_OFFER_ACCEPTANCE (title, fullname, universityid, appl_no, appl_no_hash, offer_expiration_date, application_cancel_date, room_hall) VALUES (rec.title, rec.fullname, rec.universityid, rec.appl_no, rec.appl_no_hash, rec.offer_expiration_date, rec.application_cancel_date, rec.room_hall); COMMIT; ELSIF rowcnt !=0 THEN UPDATE SCHEMA2.ACCOMM_OFFER_ACCEPTANCE t SET (t.offer_expiration_date, t.application_cancel_date, t.room_hall) = (select OFFER_EXPIRATION_DATE, APPLICATION_CANCEL_DATE, ROOM_HALL from SCHEMA.ACCOM_APPLICATION_VIEW B where B.appl_no = IN_APPL_NO); END IF; END LOOP; END;
Published by: oraCraft on Oct / 09/2010 09:11>
Validation is in my stored procedure, is not my trigger. I'm sure it's very good
>It is not very well according to the Application Developer Fundametals guide...
>
DDL statements are not allowed in the body of a trigger. Furthermore, no control of transaction
statements are allowed in a trigger. SAVEPOINT, COMMIT and ROLLBACK cannot be
used. For system triggers, TABLE {CREATE/ALTER/DROP} instructions and
EDIT... COMPILE are allowed.
Note: A procedure is called by a trigger cannot perform the previous transaction control statements,
because the procedure runs in the context of the body of the trigger.
>There is an exception to this rule if you use the pragma AUTONOMOUS TRANSACTION, but I do not see that in your trigger.
Kind regards
Bob -
Toshiba still WT8 - restore procedure does not work
Hello
I recently bought a Toshiba still wt8 with 2013 preinstalled office student.
The desktop application will not install with different messages about problems arise.
the last message says that it can not download because it is not connected to the internet, even if it isIn the following advice on the setting of the installation of various forums, I now have a machine that needs to be reset.
The road to restore installed does not work because it says that the files are missing.Ive created a recovery disk (possibly after you buy a micro USB key).
but now when I try to use it, it indicates the recovery drive is not valid.I've had the unit for four days now and I have yet to be able to use for anything other than making circles of frustration.
Can someone help before I completely lose my sanity?
Thank you
Nick ChablisHello
Usually you have two options to restore the system.
(* 1) * you will need to create a recovery media and could use this recovery media to restore the system
(* 2) * you can restore the software preinstalled from the recovery partition(* 1) * before using the recovery media (USB flash memory stick), it must create a. The recovery image is stored on the dedicated recovery partition. And can be copied to USB flash memory by following the steps.
-Turn on tablet and allow it to load the Windows OS as usual
-Insert the USB micro-USB port (do you need a micro USB cable USB converter) tab (under System Windows Apps view) Control Panel
-tabs and system security-> action center-> recovery-> create a recovery disk
-then you must follow the instructions on the screen to complete the recovery mediaTo recover the system USB flash stick insert. Then put ON the table (charm settings-> power bar-> stop) after the tablet was turned off the POWER, wait 10 seconds, then press and hold the power button / stop and the volume button up until the start menu is loaded. Then use the volume up/down button to select the menu to your actual recovery media option and press the Windows button to confirm. Then a menu appears, where you must follow the on-screen instructions.
(* 2) * the 2nd option of restore partition recovery is also possible.
Stop the tablet. Press and hold the power button / stop and the volume button up until the start menu is loaded. Then select HARD drive recovery. Now press Yes, select troubleshoot, select Reset your PC and follow the instructions on the screen to complete the processAlternatively, you can perform the restore through laptop settings in the operating system. (parameters-> change PC settings-> update & Recovery-> recovery)
-
AQ notification callback procedure does not. It's going to the exception queue
I use: Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production
I recorded in my prior queue of callback procedure, but it does not work once I recompiled the procedure according to the AQ$ _AQ_SRVNTFN_TABLE_1_F, It's going to the exception queue. How can I find why it is wrong to the exception queue?
Select * from SYS. USER_SUBSCR_REGISTRATIONS;
303 ""ALERT_Q" PLSQL://callbackEnqueueIndvl 57 FF 1 AQ DEFAULT DB REG 0 MAY 22, 14 12.17.05.375385000 PM - 04:00 Select * from AQ$ _AQ_SRVNTFN_TABLE_1_F by enq_time desc;
AQ _AQ_SRVNTFN_TABLE_1_E $ AAISqUAACAAAFh3AAQ F93D79F05F030F5DE043134C100A2FFE 0 3 MAY 22, 14 12.26.23.237482000 PM 3.20.92125 5 AQ_SRVNTFN_TABLE_Q_1 0 0 0 0 0 [SYS. [AQ$ _SRVNTFN_MESSAGE] PERSISTENT 0 0 2173603 Thank you.
Hello
Check if there is no qmon, j00 * follow-ups generated around the same period.
Thank you
Renu
-
Why the Kill_session procedure does not work?
Hi all
I like to kill session grant the user of the app in the dev environment. So I did the following steps, but the procedure kills him the session while testing.
Step 1:
create or replace procedure kill_session
(
p_sid NUMBER,
p_serial # NUMBER
) AS
m_sql VARCHAR2 (1000);
m_loginusername VARCHAR2 (30);
m_killusername VARCHAR2 (30);
m_schemaname varchar2 (30);
BEGIN
SELECT a.USERNAME, a.SCHEMANAME INTO m_killusername, m_schemaname
SESSION $ v one
WHERE a.sid = p_sid
AND a.serial # = p_serial #;
Select the user in double m_loginusername;
IF m_loginusername = m_killusername AND m_schemaname NOT IN ('SYS', 'SYSTEM')
THEN
m_sql: =' the ALTER SYSTEM KILL SESSION ' | " ' || p_sid | «, » || p_serial # | '''|| "' IMMEDIATE ';
EXECUTE IMMEDIATE m_sql;
dbms_output.put_line ("'Session killed.");
ON THE OTHER
dbms_output.put_line (' User Login ' | m_loginusername |) "The user to Kill ' | m_killusername);
dbms_output.put_line ('can't kill session from other users or Admin users');
raise_application_error (-20101, ' can't kill the session to other users or Admin users, or self');
END IF;
EXCEPTION
WHILE OTHERS THEN
dbms_output.put_line ('Error in Session kill.' |) SQLERRM (SQLCODE));
END kill_session;
Step 2:
Grant execute on sys.kill_session to the APP.
Grant select on v_$ APP session;
Step 3:
To validate this permission to kill session, as a s/n, I created the TEST user and created a session. Then I tried to kill the TEST user's sid, but the procedure did not kill the session instead it gives power like PL/SQL executed successfully.
By
Mr.BSet serveroutput on
SQL> set serveroutput on SQL> exec sys.kill_session(132,10); Session Killed. PL/SQL procedure successfully completed. {code
-
CSS text color does not work online
Hello
I just put a color in my css file (it's: color: #AE0508;). It works very well in the direct vision of Dreamweaver, works fine in the preview of the web browser, but it does not work on my hosting server: text remains black. Any idea?
Thank you!
Download the CSS?
If you have, and it still does not work, please provide the URL of your site.
-
sys_context procedure does not return an ip address
Hello
DB 11 GR 1 material
What would be the reason for which this query does not return an IPAddress?
Select sys_context ('userenv', 'IPAddress') of double;
Thank youWhat would be the reason for which this query does not return an IPAddress?
USERENV does not know what the IP # is.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select sys_context('userenv', 'ip_address') from dual; SYS_CONTEXT('USERENV','IP_ADDRESS') --------------------------------------------------------------------------------
Maybe it's because you are connected locally & not via SQL * Net
Published by: sb92075 on October 27, 2010 12:53
-
Hello world
My Flash file works fine on local file, but when hosting site loading, shows nothing. Zilch. Not had this problem before, but I have not tried with this before hosting service, which is GoDaddy. Could it be the problem? Or is there something wrong with my code?
Here's the URL: rhpbooks.com
The Flash is 1020 px wide, 350 px high and its supposed to be under the menu spry (which does not work for one reason or another! No drop and bad color for rolling!).
Any help would be great!
The html code is referencing files on your C drive. You must change these links to be relative to the server and don't forget to load the files that they imply on the server as well.
-
(All the choices) does not work online dashboard
Hello
I created a line of dashboard with drop-down control using SQL result. Now, when I run it, I noticed that when (all choices) is selected in the drop-down list, this does not work, but if an item is selected, it works fine...
Help please...
Thanks in advance :)Hello
check once this post... [http://108obiee.blogspot.com/2009/04/detecting-all-choices-from-dashboard.html]
Thinks he can help you.
KR,
A -
'Download files' procedure does not work in app/poster in double-page not found
Hello
I created an application using the procedure 'Download files' described in the chapter 'How to download and upload files in an Application' Apex 'Advanced tutorials.' It works fine on a single server, however, when I exported the applications and the data of the copy of the work and any in the APEX running from my laptop, I could download files and generate a report with a link to click and download the files again but when I clicked on these links, I would get a "Page not found" error Looks like it may not go to the procedure and instead goes to a page as follows: "http://127.0.0.1:8080/apex/DBAPORTAL.download_image?p_id=1868612316946460." On the copy on the other server, when you click on the download link, you will get a dialog box asking if you want to open or save the file.
Someone could tell me why the procedure is not called and goes to a non-existent url while the origonal application works fine on the other server?
I have granted permissions for the APEX_PUBLIC_USER enforcement procedure. I wonder if there are other authorities I should be granted. Should I grant permissions PUBLIC or ANONOMUSE to use the procedure "download_image"?
I forgot to mention that I use on my laptop 11.1 database, and the server that the database is 10g.
We hope to get an answer to this question. I already asked a few people and they are puzzled.
Thank you in advance.
LindaLinda,
Sorry for the missing = sign, you are right.
Show me the code you have in this function. It should be:
if upper(procedure_name) in ( 'DBAPORTAL.DOWNLOAD_IMAGE') then return TRUE; ...
Scott
Maybe you are looking for
-
I have an empty box on my bookmarks toolbar, I can't get rid of that.
As of today, I have an empty box on my personal bar that I can't get out. It comes after the > > icon where I see more bookmarks, but it is related to the bookmarks toolbar that it disappears when I uncheck this bar. I tried to customize, and I can't
-
The user profile Service error
I got the error message saying that the operation has failed, I found instructions to fix, but it is the administrator account that is corrupted how can I fix the user accounts?
-
error message from Windows media player C00D0FEA
What is the error message from windows media player C00D0FEA and how to fix it?
-
X220t Windows 8 touch (not pen) issues - actions / movies does not
All, I did a clean install of Windows 8 on a X220t. Since the initial start, using a finger on the touch screen worked correctly. You might drag on the edges, show the charms, arrange windows, scrolling, etc. You might even see microsoft faint "tr
-
Download tool Windows 7 USB/DVD - bootsect USB drive error - desktop windows Home premium 64-bit
So I get the bootsect error when you create a windows 7 Professional 64 bootable USB key when the machine I'm using is windows 7 Home premium 64-bit! Anyone know what is happening here? Thank you