SQL Server - restricciones en sql server 2000

 
Vista:

restricciones en sql server 2000

Publicado por javi (2 intervenciones) el 12/04/2007 13:55:23
Hola a todos,

Estoy diseñando una base de datos para una aplicacion y la estoy diseñando con SQL SERVER 2000.
Nunca he utilizado este gestor de bases de datos y estoy un poco verde en el, por eso se me plantea esta duda:
Tengo dos tablas relacionadas mediante una relacion de clave ajena, la cardinalidad maxima de la relacion es 1 a muchos pero lo que quiero hacer es meterle a una de esas tablas la siguiente restriccion en SQL para controlar las cardinalidad minima que es 1.

CREATE ASSERTION EMPLE_C.COSTES CHECK
NOT EXISTS (SELECT * FROM EMPLEADOS E WHERE
NOT EXISTS (SELECT * FROM CENTRO_COSTES CC WHERE
E.CentroCostes=CC.CodigoCentroCostes))

He probado ponerla de la siguiente forma:

En el diagrama donde tengo todas las tablas, he pinchado en la que quiero y con el boton derecho le de hado a Check contraints
ahi le he dado a new y en constraint expression he metido esto:
NOT EXISTS (SELECT * FROM EMPLEADOS E WHERE
NOT EXISTS (SELECT * FROM CENTRO_COSTES CC WHERE
E.CentroCostes=CC.CodigoCentroCostes))

le he puesto el nombre EMPLE_C.COSTES a esa restriccion en el campo Contraint name y cuando he ido a guardar el diagrama me ha dado el siguiente error:

'CENTROS_COSTES' table
- Unable to add constraint 'CK_CENTROSCOSTES'.
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]Subqueries are not supported in CHECK constraints, table 'dbo.CENTROS_COSTES'.
[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column 'CentroCostes' is specified in a constraint or computed-column definition.
[Microsoft][ODBC SQL Server Driver][SQL Server]Could not create constraint. See previous errors.

Creo entender como que no se admiten subconsultas en las check constraints pero esque sino no se de que forma ponerlo. A ver si alguien me puede ayudar.
Muchas gracias a todos de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:restricciones en sql server 2000

Publicado por Isaías (3308 intervenciones) el 12/04/2007 17:13:38
No es necesario que publiques tu duda 2 veces.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar