![]() |
Equivalencia de código.
Utilizando Acces 97 con la sentencia :
Código:
CREATE TABLE Nao ( ¿Esta sentencia es válida para SQL Server, MySQL u Oracle? Saludos. |
El ANSI para creación de tablas, es mas o menos así:
Cita:
Saludos! |
Lo que no es válido es el tipo de dato "counter".
El resto (de la sintaxis) me parece que debiera ser soportado por cualquier motor. Ahora, cualquier motor "decente" debiera exigirte que los campos que son parte de la llave primaria esten declarados como not null. En oracle 9i probe esto: y funcionó de maravilla. En interbase 6.01 la sentencia
También ha funcionado a las mil maravillas. Hasta luego. ;) |
Gracias por las pruebas.
Una pregunta más: ¿estos otros motores tienen definido algún tipo que permita generar campos autonuméricos?. Cita:
opción-, no obstante creo que es redundante exigirle a un campo autonumérico que no permita valores nulos. Saludos. |
Cita:
MySql: Desconozco Oracle: No, puedes tener una funcionalidad similar, mediante el uso de SEQUENCES. Por el tipo de lockeo de Oracle, sería algo difícil implementar campos Autonuméricos. Saludos! |
Cita:
Cita:
Pero si podes luego lanzar una sentencia similar a esta:
y el motor te la acepta... uf... estaras en serios problemas. NO puedo decir mas, pues al no formar parte del estándar, funcionará de manera diferente en cada motor que se de una funcionalidad como esta. Hasta luego. ;) |
Bien por lo que veo mi pretensión de crear unas sentencias que me permitieran crear todas las tablas de una BD desde una aplicación con
independencia del motor que este usando no es viable. Una pregunta más acerca de los autonuméricos. ¿Es posible delegar en el motor -en un trigger, ... - la generación del valor seudoautonumérico para el campo que me debe servir de clave maestra, sin necesidad de hacer nada desde la aplicación?. Otra de las cosas que pretendo es que las sentencias de insercción, actualización, eliminación y elección -SELECC, INNER JOIN - sean las mismas con independencia del motor. Esto es posible o me voy a encontrar diferencias entre los motores que lo hagan imposible. ¿Hay algún estandar de SQL de obligado cumplimiento por los diferentes motores?. Buenas noches. Juan P. |
Cita:
Cita:
Cita:
Aunque ninguna base de datos cumple totalmente el estándar, y se limitan a soportar totalmente solo el núcleo del estándar (muchas veces con variaciones de sintaxis). Creo que la única excepción es Oracle, que me parece que soporta totalmente el estándar SQL. NOTA : Una forma de emmascarar las diferencias entre las bases de datos, es utilizar procedimientos almacenados. De esta forma la aplicación puede tratar igual a todos los motores. Saludos. |
Gracias por tus comentarios. En particular por la nota sobre los
procedimientos almacenados. Saludos Juan P. |
La franja horaria es GMT +2. Ahora son las 21:56:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi