sql - salida - procedure oracle ejemplos
¿A qué se refiere `x` en esta declaración SQL de Oracle:` select*from dual donde x=1 o 1=1` (1)
Parece suceder porque en algunas versiones de Oracle DB existen sinónimos llamados X e Y:
select owner, synonym_name, table_owner, table_name from dba_synonyms where synonym_name in (''X'', ''Y'');
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME
------------------------------ ------------------------------ ------------------------------ ----------
PUBLIC X MDSYS OGC_X
PUBLIC Y MDSYS OGC_Y
Accidentalmente encontré que en Oracle SQL se puede emitir la siguiente declaración: select * from dual where x=1 or 1=1 .
- La columna en
dualse llamadummyy nox. - Si selecciono de cualquier otra tabla, todavía funciona, devolviendo todas las filas.
-
select * from dual where y=1 or 1=1también funciona. -
select * from dual where z=1 or 1=1no funciona , dandoORA-00904: z: invalid identifier. -
select * from dual where x=1no funciona , dandoORA-06553: PLS-306: wrong number or types of arguments in call to ''OGC_X''.
¿A qué se refieren y ?