lunes, 9 de enero de 2017

Crear tipo de Datos Personalizados en SQL SERVER

En este artículo trataremos acerca de como crear un tipo de datos personalizado mediante el comando CREATE TYPE.

Hace mucho que no escribo nada queridos lectores, pero hoy les traigo un nuevo post sobre la creación de tipos de datos personalizados, para crear nuestra tabla de base de datos de una manera más fácil, pero vamos a hacerlo que es lo que nos gusta y como aprendemos.

Para esto, existen dos formas de realizarlo, la primera, mediante TRANSCT-SQL y la segunda mediante el Managment Studio, veamos la primera:

 Dar de alta tipo de dato personalizado desde Transact-SQL




Ejemplo 1. Crear tres tipos de datos, el primero, llamado INICIALES de tipo char, otro más para un Nombre, que sea de texto largo y otro mas para el SALDO que sea de tipo money

CREATE TYPE INICIALES
FROM CHAR(4)

CREATE TYPE TEXTO_LARGO
FROM TEXT

CREATE TYPE SALDO
FROM MONEY

Mediante el comando CREATE TYPE se crearán nuestros tipos de datos personalizados, como vemos, el primero se llamará INICIALES que será de tipo char(4), el siguiente se llamará TEXTO_LARGO que viene desde TEXT, y un campo llamado SALDO que será alias de MONEY, 
vamos a crear la tabla con estos campos para ver la utilidad


CREATE TABLE PRUEBA(
iniciales iniciales,
nombre texto_largo,
saldo saldo)

Borrar un tipo de dato

Para poder eliminar un tipo de datos creado por el usuario, ejecutaremos la sentencia DROP TYPE, en este caso para poder eliminar un tipo de datos es indispensable que no haya ninguna tabla creada haciendo referencia a él ya que marcará un error.

Ejemplo 2: Borrar los tipos de datos INICIALES, SALDO, TEXTO_LARGO, que creamos en el ejercicio anterior

drop type iniciales
drop type saldo
drop type texto_largo




Al ejecutar estas líneas nos mostrará el siguiente error:

Mens. 3732, Nivel 16, Estado 1, Línea 1

No se puede quitar el tipo 'iniciales' porque el objeto 'PRUEBA' hace referencia a él. Puede que haya otros objetos que hagan referencia a este tipo.
 
Como ven, es porque la tabla PRUEBA, hace referencia a esos mismos campos personalizados, necesitariamos editar la tabla para cambiar el tipo de dato o borrar la tabla.

Listar tipos de datos definidos por el usuario


Ya vimos que es, como crear y borrar un dato definido por el usuario, pero ahora ¿Como lo listamos?. Existe una tabla de SQL SERVER, que lo realiza y eso el la tabla sys.types como veremos en el siguiente ejemplo


Ejemplo 3: Listar todos los tipos de datos disponibles en SQL SERVER utilizando la tabla sys.types

select * from sys.types

Si se utiliza esta sentencia sin ningún filtro obtendremos un listado de TODOS los tipos de datos soportados y disponibles, como vemos en la imagen aparecen numeric, char,y hasta el final aparecen los nuestros,


pero, ¿como le haremos para que aparezcan únicamente los tipos de datos creados por nosotros?, pues bien, tendremos que ponerle un filtro a la consulta:


select * from sys.types
where is_user_defined = 1


Con este filtro, únicamente mostrará los datos creados por nosotros, como se aprecia en la siguiente imagen:


Ahora veamos el segundo método del que disponemos para crear un tipo de dato, y es mediante Mangment Studio


Dar de alta tipo de dato personalizado utilizando Managment Studio

Para dar de alta un tipo de datos personalizado utilizando la interface gráfica de SQL llamado Managment Studio realizaremos los siguientes pasos:

1. Ingresamos a la carpeta Programación / Tipos / Nuevo / Tipo de Datos Definidos por el Usuario

2. Llenamos lo campos que se nos piden, desde el Esquema, Nombre, Tipo, Longitud y si permite o no valores nulos, de momento lo llenaremos similar a la siguiente imagen:


 3. Damos clic en Aceptar, y listo, tendremos nuestros tipo de datos creado, a veces resulta más rápido hacerlo con Transact, pero ya es cosa del gusto de cada quien

Para poder mostrar los tipos de datos personalizados se pueden observar en la carpeta programación, solo hay que Actualizar la ventana, y se encuentran aquí:





Si quieren borrar alguno, solo basta con que le den botón derecho del mouse / Eliminar y Listo.

Hasta aquí el post queridos lectores, espero haya sido de utilidad, les pido compartan, den +1, comenten o den clic en algún anuncio, cualquier duda quedo a sus ordenes. Saludos!!!



Banderas de Visitantes

Flag Counter