Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

¿Cómo crear bases de datos en el SQL Server desde el query string?

Estas en el tema de ¿Cómo crear bases de datos en el SQL Server desde el query string? en el foro de Bases de Datos General en Foros del Web. La sentencia básica ya la sé: CREATE TABLE ("camino") (...) Lo que no sé es cómo poner definir del todo los atributos: es decir, para ...
  #1 (permalink)  
Antiguo 22/02/2005, 16:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
¿Cómo crear bases de datos en el SQL Server desde el query string?

La sentencia básica ya la sé:

CREATE TABLE ("camino") (...)

Lo que no sé es cómo poner definir del todo los atributos: es decir, para poner por ejemplo un campo como decimal, y que tenga "scale"=2 (para tener dos decimales). El scale ése cómo se pondría. Y si alguien sabe de un sitio donde hablen de esto...
  #2 (permalink)  
Antiguo 22/02/2005, 16:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
En las FAQ's, lo que sí viene es cómo crear un campo autoincremental (pero no uno de decimales, y especificarle cuántos):

Create table tabla_ejemplo(campo_id int identity... primary key(campo_id))
  #3 (permalink)  
Antiguo 22/02/2005, 18:13
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Es tan "simple" como esto (extraído de los books online):
Cita:
CREATE TABLE
[ database_name.[ owner ] . | owner. ] table_name
( { < column_definition >
| column_name AS computed_column_expression
| < table_constraint > } [ ,...n ]
)

[ ON { filegroup | DEFAULT } ]
[ TEXTIMAGE_ON { filegroup | DEFAULT } ]

< column_definition > ::= column_name data_type
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]

< column_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ON {filegroup | DEFAULT} ] ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}

< table_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ASC | DESC ] [ ,...n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| FOREIGN KEY
[ ( column [ ,...n ] ) ]
REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
| CHECK [ NOT FOR REPLICATION ]
( search_conditions )
}
Si te parece confuso entonces te remito a ese tema dentro de la ayuda donde mas abajo se abunda sobre cada una de las opciones
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 22/02/2005, 19:14
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
Yo con eso no me entero de nada. Lo he leído, y vale, puedo más o menos enterarme, pero no sé qué palabras exactas utilizar y ahí no te las dice (por ejemplo, lo de usar int para poner "identity").

¿Podrías decirme la manera concreta de especificar los decimales de un tipo de número "decimal"?

PD: ¿Adónde me remites? Si en esta página hay books online o algo dímelo. No sé de qué "tema dentro de la ayuda" hablas.
  #5 (permalink)  
Antiguo 23/02/2005, 00:40
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 20 años, 8 meses
Puntos: 1
Create Table Pagos(codalu Int,nomalu Varchar(30),feccin Datetime,pago Decimal(10,2))

Miraq Ue El Campo Codalu Es Entero,nomalu Es Cadena Feecin Es De Tipo Fecha Y Pago Es De Tipo Decimal Con 10 Enteros Y 2 Decimales
__________________
http://www.luisariashidalgo.com
  #6 (permalink)  
Antiguo 24/02/2005, 15:57
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
Los Books Online son la ayuda de SQL Server, entra a Enterpruse Manager o al Query Analyzer y presiona [F1], verás los Books online.

El uso del tipo de datos decimal es como dice oyeme, solo que el ejemplo PAGO DECIMAL(10,2) no habla de 10 enteros y 2 decimales, sino de 8 enteros y 2 decimales (la segunda cifra se resta a la primera

Cita:
< column_definition > ::= column_name data_type
[ COLLATE < collation_name > ]
[ [ DEFAULT constant_expression ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL]
[ < column_constraint > ] [ ...n ]
Lo usas con algo como MiColumna INT IDENTITY(1,1), ahi indicas que la clave comenzará en el 1 y hara incrementos de 1 en 1
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche

Última edición por Mithrandir; 24/02/2005 a las 16:07
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:16.