Hero

Crear tabla y procedimiento almacenado con T-SQL para MS-SQL

Mayo 17, 2013

kenneth
Microsoft
SQL-Server

Cuando trabajamos con una base de datos MS SQL Server, es justo y necesario tener conocimiento sobre su lenguaje T-SQL y por medio del mismo utilizar declaraciones como ”Data definición language (DDL)” y ”Data manipulation language (DML)“.

Utilizando estas herramientas podemos tener mayor rendimiento cuando trabajamos con estas instancias de bases de datos.

Además, cuando necesitamos hacer alguna manipulación de datos (DML) es recomendado utilizar procedimientos almacenados, por razones de seguridad, rendimiento, entre otras según indica su documentación en ”Benefits of Using Stored Procedures“.

Ahora bien, a continuación veremos como crear una base de datos de pruebas para definir una tabla llamada Users y crear un procedimiento almacenado para agregar nuevos registros a la tabla recién creada (“Users”), todo esto por medio de T-SQL.

  1. Crear base de datos.

Primero entraremos a nuestra instancia de bases de datos y crearemos nuestra nueva base de datos, el código sería el siguiente:

<pre title="Crear base de datos ">USE master

IF EXISTS(SELECT NAME FROM SYS.DATABASES WHERE NAME = 'pruebas') 
BEGIN 
DROP DATABASE pruebas 
END
GO 

CREATE DATABASE pruebas
GO

Ahora tenemos una nueva base de datos llamada pruebas, seguidamente veremos como crear la tabla “Users”.

  1. Crear una tabla en la base de datos.

Definiremos una tabla donde almacenar el nombre, la contraseña y el estado de todos los usuarios, el código para hacer esta tarea se vera de la siguiente manera:

<pre title="Crear tabla ">USE pruebas
Go

CREATE TABLE Users(
 Id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
 Name VARCHAR(50) NOT NULL,
 Pass VARCHAR(32) NOT NULL,
 Available BIT DEFAULT 1 NOT NULL
)
GO

Terminado este paso tendremos a nuestra disposición la tabla donde hacer persistente la información de los usuarios.

  1. Creación del procedimiento almacenado.

Una vez creada la base de datos y la tabla “Users”, podemos hacer CRUD sobre nuestra tabla nueva, en este caso haremos un procedimiento almacenado para insertar nuevos registros a nuestra tabla de usuarios, el procedimiento almacenado se puede definir de la siguiente manera:

<pre title="Crear procedimiento almacenado ">CREATE PROCEDURE addUser(
 @pName VARCHAR(50),
 @pPass VARCHAR(32)
)
AS
BEGIN
 SET NOCOUNT ON;
 INSERT INTO Users 
 (Name, Pass, Available)
 VALUES (@pName, @pPass, DEFAULT);
END
GO

Una vez ejecutado, ya podemos utilizar el procedimiento almacenado para agregar nuevos registros.

  1. Ejecutar procedimiento almacenado:

Para finalizar, veremos como probar nuestro procedimiento almacenado, podemos usar el siguiente código:

<pre title="Ejecutar procedimiento almacenado ">EXEC	dbo.addUser
	@pName = N'UserFirst',
	@pPass = N'PassFirst'
GO

Ahora si consultamos nuestra tabla podemos observar el nuevo registro agregado.

Espero que les sea de mucha ayuda para cuando estén trabajando con una base de datos MS SQL Server,

Saludos,

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.