Witajcie,
Potrzebuję Waszej pomocy. Niestety nie jestem bazodanwocem ale czasem jakieś zapytania trzeba napisać. I właśnie stanąłem przez napisaniem z pozoru prostego MERGE'a. Chodzi o to, by parametry były przekazywane z wartości jakie wpiszę w zapytaniu natomiast jeden parametr chcę pobierać z innej tabeli. Nie wiem czy użyłem dobrych słów aby to pisać. Poniżej zapytanie które oczywiście nie działa. Jak wywalą ten nawias z selectem i dam tam po prostu jakąś wartość to rzecz jasna działa no ale niestety nie mogę tego tak zrobić. To jedno pole musi być zaciągane z innej tabeli. Pomożecie?
MERGE INTO TABLE_1 AS u
USING (VALUES ((SELECT ATTR FROM TABLE_2 WHERE ID = '123'), '999999',CURRENT_DATE, 'N')) AS m
(ID, USER_ID, INSERT_DATE, ACTIVE) ON
u.USER_ID = m.USER_ID
WHEN MATCHED THEN
UPDATE SET
u.ACTIVE = m.ACTIVE
WHEN NOT MATCHED THEN
INSERT
(ID, USER_ID, INSERT_DATE, ACTIVE)
VALUES (m.ID, m.USER_ID, m.INSERT_DATE, m.ACTIVE);