Hace un tiempo hice una
entrada sobre cómo crear una tabla en SQL Server 2005, ahora presento lo mismo
pero para SQL server 2014. La operativa apenas ha variado por lo que no me
voy a extender con las pantallas. En
esta ocasión además incluyo un pequeño script para que crear una foreing key de
un campo de la nueva tabla a otra ya creada.
Sobre la base de datos desde
la que deseamos crear la tabla pulsamos botón derecho del ratón -> Nuevo y
Tabla.
Esto nos mostrará una plantilla
donde rellenar los nombres de las columnas, sus tipos y si permiten valores
nulos o no.
La explicación de cómo crear
primary key es igual que la que ya puse para SQL Server 2005.
Cuando deseemos terminar pulsamos
a guardar, esto nos muestra otra pantalla donde elegimos el nombre de la tabla
creada
Hecho esto nuestra tabla
aparecerá creada por defecto en nuestra base de datos con el propietario dbo
por defecto
La nueva tabla aparecerá con
las características especificadas. Si queremos generarla por código podemos
ejecutar el siguiente script:
USE [dbBASE_DE_DATOS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE
[PROPIETARIO].[tbNombreTabla](
[id]
[bigint] NOT NULL,
[strCodigo]
[nvarchar](50) NULL,
[strDescripcion]
[nvarchar](max) NULL,
[datFecha]
[datetime] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Una forma muy sencilla
de crear el script es sobre una tabla ya creada botón derecho del ratón Incluir
tabla como -> CREATE to -> Nueva ventana del Editor de Consultas.
Si queremos cambiar el
propietario ahora podemos hacerlo en el script.
CREATE TABLE [PROPIETARIO].[tbNombreTabla]
Si deseamos añadir campos clave y una foreing kay a otra
tabla haremos un script de este estilo
USE [dbBASE_DATOS]
GO
/****** Object: Table [PROPIETARIO].[tbNombreTabla] Script Date: 29/05/2015 13:01:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOCREATE TABLE [PROPIETARIO].[tbNombreTabla](
[idTraza]
[bigint] NOT NULL,
[strCodigo]
[nvarchar](50) NOT NULL,
[strDescripcion]
[nvarchar](max) NULL,
[datFecha]
[datetime] NOT NULL,
CONSTRAINT [pk_tbNombreTabla] PRIMARY KEY CLUSTERED
(
[id] ASC,
[strCodigo]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE =
OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GOALTER TABLE [PROPIETARIO].[ tbNombreTabla ] WITH CHECK ADD CONSTRAINT [fk_strCodigo] FOREIGN KEY([strCodigo])
REFERENCES [[PROPIETARIO].[tbTablaEnlazada] ([strCodigoEnlazado])
GOSi queremos que la primera columna se rellene automáticamente de forma secuencial al final de la definición de la columna ponemos IDENTITY(1,1), esto comenzará a contar desde 1 incrementando 1 en cada registro.
[id] [bigint] IDENTITY(1,1) NOT NULL,
Si deseamos generar un script
que ya tenga en cuenta si existe la tabla a crear, añadimos la siguiente
validación.
IF NOT EXISTS (SELECT * from sysobjects where id = object_id('PROPIETARIO.tbNombreTabla')
and sysstat & 0xf=3 )
BEGIN
CREATE TABLE [PROPIETARIO].[tbNombreTabla](
[id]
[bigint] IDENTITY(1,1) NOT NULL,
[strCodigo]
[nvarchar](50) NOT NULL,
[strDescripcion]
[nvarchar](max) NULL,
[datFecha]
[datetime] NOT NULL,
CONSTRAINT
[pk_ tbNombreTabla] PRIMARY KEY CLUSTERED
([id] ASC,
[strCodigo]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE
= OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON
[PRIMARY]
END
GO
No hay comentarios:
Publicar un comentario