Crear Base datos con SQL Server Compact ayuda por favor

06/05/2008 - 05:29 por edcha | Informe spam
Hola grupo les saludo esperando que estén bien y agradezco la ayuda
que me brindan.

El asunto es que estoy tratando de aprender a usar SQL Server Compact
y ya se como crear dos tablas usando SqlCeCommand pero necesito saber
como se puede crear una relación entre dos tablas donde se hacen las
actualizaciones en cascada.

Hasta ahora lo que tengo para crear dos tablas es lo siguiente:

La 1º Tabla
//desde aqui se inicia la primera transacción
string Sqlsql = "CREATE TABLE tblPub ("
+ "nomPub nvarchar DEFAULT 'Nombre' CONSTRAINT NomPubPKey PRIMARY
KEY NOT NULL, "
+ "precEsp bit DEFAULT 0, "
+ "metaHora smallint DEFAULT 0 )";

La 2º Tabla
Sqlsql = "CREATE TABLE tblInf ("
+ "nomPub nvarchar DEFAULT 'Nombre'"
+ "mes smallint DEFAULT 0 )";

en la ayuda de SQL Server Compact sobre crear tablas aparece lo
siguiente pero no lo entiendo

CREATE TABLE table_name
( { < column_definition > | < table_constraint > } [ ,...n ]
)
< column_definition > :: { column_name data_type }
[ { DEFAULT constant_expression
| [ IDENTITY [ ( seed , increment ) ]
]
} ]
[ ROWGUIDCOL ]
[ < column_constraint > [ ...n ] ]
< column_constraint > :: [ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ PRIMARY KEY | UNIQUE ]
| REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
}
< table_constraint > :: [ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
{ ( column [ ,...n ] ) }
]
| FOREIGN KEY
( column [ ,...n ] )
REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
}



Me podrían poner un ejemplo para lo que quiero usando SqlCeCommand


Muchas Gracias.
 

Leer las respuestas

#1 Alberto Poblacion
06/05/2008 - 08:07 | Informe spam
"edcha" wrote in message
news:
[...]
como se puede crear una relación entre dos tablas donde se hacen las
actualizaciones en cascada.
[...]

La 1º Tabla
string Sqlsql = "CREATE TABLE tblPub ("
+ "nomPub nvarchar DEFAULT 'Nombre' CONSTRAINT NomPubPKey PRIMARY
KEY NOT NULL, "
[...]
La 2º Tabla
Sqlsql = "CREATE TABLE tblInf ("
+ "nomPub nvarchar DEFAULT 'Nombre'"
+ "mes smallint DEFAULT 0 )";



Por ejemplo, si quieres poner una relación desde la segunda tabla a la
primera, exigiendo que el campo "nomPub" de la segunda se refiera siempre a
un "nomPub" existente en la primera, crearías un "foreign key" como sigue:

CREATE TABLE tblInf (
nomPub nvarchar DEFAULT 'Nombre'
CONSTRAINT Fk_Relacion REFERENCES tblInf(nomPub)
ON DELETE CASCADE ON UPDATE CASCADE,
mes smallint DEFAULT 0 )

En este ejemplo, además de la relación de clave externa, hemos añadido una
cláusula de borrado y actualización en cascada, de forma que si borras un
registro de la 1a tabla se borren todos los de la 2a que estén relacionados
con él, y lo mismo en caso de modificarlo. Por supuesto que esa parte es
opcional y se puede suprimir si no es ese el comportamiento que deseas.

Preguntas similares