Los valores predeterminados en SQL Server, nos permitirán crear un valor predeterminado en la columna de una tabla, en el caso que no se le ingrese valor, se puede crear con la sentencia DEFAULT, vista en este mismo curso algun tiempo atrás, sin embargo, a partir de la versión 2008 se pueden crear los valores independientemente a la tabla y asignarselos a la tabla y al campo mediante TRANSACT-SQL, así que pasemos a realizarlo que es lo que nos gusta
Para crear un valor predeterminado, crearemos una tabla de ejemplo:
create table usuario(
id int primary
key,
nombre varchar(100),
tipo int)
A partir de esta tabla simple llamada usuario, vemos que tiene un campo que se llama tipo que es de tipo entero, asumiremos que el valor 0 es de un usuario dado de baja y el valor 1 es de un usuario activo, de manera que el valor predeterminado sea 1, todos los usuarios que creemos se crearan con un status activo, cuando queremos darlo de baja actualizaremos ese valor, vamos ahora a crear el valor predeterminado, para eso utilizaremos la sentencia CREATE DEFAULT, tal cual lo vemos en el siguiente ejemplo:
CREATE DEFAULT usuarioactivo
AS 1
Como ven, creamos un valor predeterminado llamado usuarioactivo, y le asignaremos el valor de 1, una vez que este creado ese valor predeterminado vamos a proceder a asociarlo a la tabla y a la columna que queremos, pero antes agregaremos un usuario, para que vean lo que hace si no esta predeterminado el valor.
insert into usuario (id, nombre) values (1,'Emmanuel')
Al seleccionar la tabla con el comando SELECT, nos encontraremos con lo siguiente:
id nombre tipo
1 Emmanuel NULL
Como ven, el tipo aparece como NULL debido a que no le metimos un dato, tampoco tiene dato personalizados, ahora bien, vamos ahora si a enlazar nuestro valor predeterminado a la columna y tabla, para eso utilizaremos el procedimiento almacenado de sistema llamado sp_bindefault:
sp_bindefault 'usuarioactivo', 'usuario.tipo'
Como ven, este procedimiento almacenado esta compuesto por dos parámetros, el primero se refiere al nombre del valor predeterminado, mientras que el segundo, hace referencia a la tabla (usuario) y al campo (tipo), al ejecutar esta instrucción, la base de datos nos confirma que el enlace se realizó correctamente
Valor predeterminado
enlazado con la columna.
Ahora vamos a insertar nuevamente otro registro, para comprobar que el valor predeterminado esta funcionando correctamente:
insert into usuario (id, nombre) values (2,'Paula');
Al ejecutar esta instrucción y dar SELECT a la tabla, podemos apreciar como el valor predeterminado funciona correctamente:
Si queremos desvincular ese valor predeterminado de esa tabla y columna, ejecutaremos otro procedimiento almacenado de sistema que sería sp_unbindefault:
sp_unbindefault 'usuario.tipo'
En este caso, el procedimiento almacenado solo recibe un parámetro que es la tabla y el campo que queremos quitar.
Como ven, funciona correctamente, la herramienta de Managment Studio, nos permite también de manera gráfica observar los valores predeterminados que tenemos dados de alta, y se muestran aquí:
Valores predeterminados en SQL Server |
Para eliminar el valor por defecto podremos borrarlo desde el Managment Studio, dando clic con el botón derecho del mouse y dando Eliminar, o podemos utilizar TRANSACT para realizarlo, y sería de la siguiente manera:
DROP DEFAULT usuarioactivo
Hasta aquí el post queridos lectores, espero haya sido de su agrado y de su utilidad, recuerden que cualquier duda estoy a sus órdenes. No se olviden de comentar, preguntar, dar +1, o algún clic en algún anuncio, muchas gracias.
No hay comentarios.:
Publicar un comentario