Estoy tratando de determinar qué está haciendo este código (Oracle SQL) - especialmente el signo de exclamación al en la cláusula from
.¿Qué significa @! significa en un De declaración
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, el símbolo @ en realidad se llama "at" o "hat". Ampersand es esto: &. – Matt
No puede insertar 4 columnas en 3 columnas. La "@" generalmente significa un enlace a la base de datos. ¡Pero nunca lo he visto junto con un "!" – winkbrace
'!' Debe ser un nombre de enlace de base de datos, pero no es un carácter legal para tener en uno. Tal vez se supone que se debe ejecutar desde un script de shell que hace una sustitución en tiempo real de '!' Por un nombre de enlace real, aunque sería una elección extraña; y como @BazzPsychoNut señala que fallará en la columna no coincide de todos modos. El único uso de '!' Que conozco en Oracle es como el [operador 'soundex'] (http://docs.oracle.com/cd/E11882_01/text.112/e24436/cqoper.htm#sthref1108) , que claramente no es el caso aquí. –