I have three tables:
CUSTOMER Columns (Tracking)
Reference Columns (Ref_Tracking, Project)
PROJECT Columns(Project)
Мне нужно проверить ссылку, чтобы увидеть, имеются ли записи в столбце (отслеживание) из CUSTOMER в Reference (Ref_Tracking). Затем проверьте, существует ли связанная запись из Reference (Project) в PROJECT (Project).Обработка записи Если существует запись UPDATE, INSERT в PLSQL
If they exist UPDATE PROJECT
SET PROJECT.NAME = CURSOR VARIABLES
ETC
ETC
If they do not exist
INSERT INTO REFERENCE
VALUES (CURSOR VALUES)
У меня есть курсор, который перебирает все переменные для таблицы клиентов.
Я пробовал ниже, но данные не заполняются. Я не уверен, что я делаю неправильно, или если есть лучший способ сделать это. Im обучение pl/sql, поэтому не уверен, что я на правильном пути.
CREATE OR REPLACE PROCEDURE P1
AS
V_NAME CUSTOMER.NAME%TYPE;
V_TRACKING CUSTOMER.TRACKING%TYPE;
V_ADDRESS CUSTOMER.ADDRESS%TYPE;
V_CITY CUSTOMER.CITY%TYPE;
V_STATE CUSTOMER.STATE%TYPE;
V_NUMBER CUSTOMER.NUMBER%TYPE;
V_ Ref Reference.REF_TRACKING%TYPE := NULL;
V_Project REFERENCE.PROJECT%TYPE := NULL;
V_Project_2 PROJECT.PROJECT%TYPE := NULL;
CURSOR C01
IS
SELECT C.Name,
C.Tracking,
C.Address,
C.City,
C.State,
C.Number
FROM Customer
WHERE C.Number = Another_Table;
BEGIN
FOR fetchc01 IN C01
LOOP
BEGIN
Select Ref_Tracking, R.Project, P.Project
Into V_ Ref, V_Project, V_Project_2
From Customer C, Reference R, Project P
Where R.Project = P.Project
AND Tracking = Ref_Tracking;
EXCEPTION
WHEN TOO_MANY_ROWS
THEN
NULL;
WHEN NO_DATA_FOUND
THEN
NULL;
END;
BEGIN
IF V_Ref = fetch01.Tracking
Then
Insert Into Sample_Project
VALUES (V_Name, V_Tracking, V_Location)
END
END LOOP;
END;
В чем ваш вопрос в точности? – Bohemian
Процедура компилируется, но она не возвращает никаких данных о вставках или обновлениях. Удивление, если есть более эффективный способ сделать это или что я делаю неправильно. Благодаря! – user1307149