Próbuję ustalić, co robi ten kod (Oracle SQL) - zwłaszcza znak zapytania o znaku wykrzyknika w klauzuli from
.Co to jest @! w oświadczeniu From
INSERT INTO "LOCATIONS" "A1"
("LOCATION_ID",
"SEQUENCE",
"POINT_TYPE")
SELECT "A2"."LOCATION_ID",
"A2"."SEQUENCE",
"A2"."LOCATION_TYPE",
"A2"."POINT_TYPE"
FROM "LOCATIONS"@! "A2"
WHERE NOT EXISTS (SELECT 1
FROM "LOCATIONS" "A3"
WHERE "A3"."LOCATION_ID" = "A2"."LOCATION_ID")
FYI, symbol @ jest rzeczywiście nazywany "at" lub "hat". Ampersand to: &. – Matt
Nie można wstawić 4 kolumn do 3 kolumn. "@" Zwykle oznacza link do bazy danych. Ale nigdy nie widziałem tego razem z "!" – winkbrace
'!' Powinno być nazwą łącza do bazy danych, ale nie jest to postać prawna, która ma być w jednym. Być może ma to być uruchamiane ze skryptu powłoki, który zastępuje '!' W czasie rzeczywistym dla prawdziwej nazwy łącza, chociaż byłby to dziwny wybór; i jak @BazzPsychoNut wskazuje, że i tak nie powiedzie się na niezgodności kolumn. Jedynym użyciem '!' Mam świadomość, że w Oracle jest ['soundex' operator] (http://docs.oracle.com/cd/E11882_01/text.112/e24436/cqoper.htm#sthref1108) , co oczywiście nie ma tu miejsca. –