SQL aceptado por 4DPDO y SQL 4D
&reftitle.description;
4D implementa estrictamente el estándar ANSI 89, y lo cumple.
Se recomienda encarecidamente leer la documentación de 4D SQL para aprender
sobre los comandos que están disponibles. La URL del manual es:
&url.4d.doc;.
Abajo se enumeran las características de 4D SQL: no es una lista exhaustiva,
pero podría servir como introducción.
Características de 4D SQLCaracterísticaAlternativaNotaINTEGERModificar el SQL para que utilice INT.INT es el tipo de entero admitido en 4Dv12.0.CHARUtilizar VARCHAR en su lugar.No soportada en 4Dv12.0UNIONNo soportada. Realizar consultas por separado.No soportada en 4Dv12.0SELECT 1 + 1;SELECT 1 + 1 FROM _USER_SCHEMAS;FROM es necesarioFLOATConvertir el valor FLOAT a un FLOAT o STRING, con una función de SQL 4D (CAST, ROUND, TRUNC o TRUNCATE)No soportada en las versiones actuales del controlador PDO_4DTipado fuerteTener cuidado con la consulta SQL, o con el código de PHP que proporciona datos con tipos exigidos
Se debe proporcionar el tipo correcto exigido por 4D. No se puede insertar '1' (como cadena) en una columna INTEGER.
PDO::execute($fila) : solamente funciona si todas las columnas de la tabla son de tipo TEXT o VARCHARUtilizar sentencias preparadas y los tipos correctos.La extensión PDO convierte todos los valores a través de execute() a cadenas, y exige que la base de datos SQL analice los valores.SELECT NULL FROM TABLENo utilizar constantes NULL. Extraerlas de la tablaNo está permitido utilizar la constante NULL el la lista de selecciónSELECT * FROM TABLE WHERE 1Utilizar WHERE 1 = 1No se puede utilizar una constante en una cláusula WHERESHOW TABLESUtilizar tablas de sistema
La lista de tablas, esquemas, índices, etc., están en estas tablas de sistema:
_USER_TABLES, _USER_COLUMNS,
_USER_INDEXES, _USER_CONSTRAINTS,
_USER_IND_COLUMNS, _USER_CONS_COLUMNS,
y _USER_SCHEMAS.
Delimitador de estructura de SQL
Utilizar la siguiente función para proteger elementos SQL:
function sqlEscapeElement(elem) {
return '[' . str_replace(']',']]', $elem) . ']';
}
Para escapar nombres de elementos de SQL (tablas, campos, usuarios,
grupos, esquemas, claves primarias, etc.), todo el identificador
debe estar entre corchetes, y el corchete de cierre
']' debe ser doble.