¿Cómo insertar datos con un procedimiento almacenado de SQL Server?

¿Cómo utilizar variables T-SQL para insertar datos utilizando un procedimiento almacenado de SQL Server?

Tutorial sobre cómo insertar datos con un procedimiento almacenado de SQL Server utilizando variables T-SQL. Y también cómo mostrar u ocultar el número de filas insertadas por el procedimiento. Este ejemplo de un procedimiento T-SQL inserta filas en una tabla de clientes. Este es un tutorial de 3 pasos para aprender cómo insertar filas desde un procedimiento almacenado con variables.

1. Crear la tabla de ventas para usarla en el procedimiento

Primero, verifique que la tabla de clientes de ejemplo no exista. Si la tabla existe, entonces bórrela con el comando DROP TABLE. Luego cree la tabla de clientes para insertar las filas del ejemplo.

-- Test if the table CUSTOMERS already exists
-- And delete it if necessary
IF EXISTS(
   SELECT 1 FROM sys.objects
   WHERE  object_id = object_id(N'[dbo].[CUSTOMERS]')
      AND type in (N'U')
)
DROP TABLE [dbo].[CUSTOMERS]
GO
-- Create the CUSTOMERS table with the column NAME declared as UNIQUE
-- The UNIQUE keyword defines the column with a unique value
-- Inserting two customers with the same name is therefore impossible
CREATE TABLE [dbo].[CUSTOMERS] (
   [CLIENTID] int IDENTITY(1,1),
   [NAME] nvarchar(20) UNIQUE,
   [CITY] nvarchar(20)
)
GO

2. Crear el procedimiento almacenado de SQL Server para insertar datos

Primero verifique si el procedimiento almacenado ya existe en la base de datos y bórrelo si es necesario. En segundo lugar, cree el procedimiento almacenado uspInsertClient para insertar dos campos pasados como parámetros, el nombre y la ciudad, en la tabla de clientes.

IF EXISTS( 
  SELECT 1 FROM sys.objects 
  WHERE object_id = object_id(N'uspInsertCustomer')
  AND type in (N'P') )
DROP PROCEDURE uspInsertCustomer;
GO
CREATE PROCEDURE dbo.uspInsertCustomer
  @Name nvarchar(20),
  @City nvarchar(20)
AS
BEGIN
  INSERT INTO dbo.Customers (Name, City) 
  VALUES (@Name, @City);
END;
GO

Ejecute el procedimiento tres veces para insertar nuevos clientes en la tabla.

-- Deactivate the option to hide the number of insertions
SET NOCOUNT OFF;
-- Insert three new customers
EXECUTE dbo.uspInsertCustomer @Name = 'MAMMADOU', @City = 'Toulouse';
EXECUTE dbo.uspInsertCustomer @Name = 'KARIM', @City = 'Nantes';
EXECUTE dbo.uspInsertCustomer @Name = 'ISAAC', @City = 'Versailles';
Insert data from a SQL Server stored procedure with SSMS
Insertar datos desde un procedimiento almacenado de SQL Server con SSMS

Este ejemplo de una consulta de inserción en el procedimiento almacenado de SQL Server se utiliza para insertar filas en una tabla. El código verifica la existencia del procedimiento de antemano para evitar errores en la creación. El código facilita la llamada al procedimiento creado con los parámetros. Y así estandarizar la inserción de datos en esta tabla.

3. Opción para ocultar el número de filas insertadas

Cuando inserta datos desde un procedimiento de SQL Server, por defecto, el sistema muestra el número de filas insertadas. El comando SET NOCOUNT ON le dice a SQL Server que no muestre el número de filas afectadas. En nuestro caso, insertado por la consulta SQL INSERT. Así, si la opción está habilitada, no se muestra el número de filas, como en el ejemplo de abajo. Esta opción de visualización permite evitar contaminar archivos o tablas de registro durante la ejecución de procedimientos almacenados complejos.

-- Deactivate the option to hide the number of insertions
SET NOCOUNT ON;
-- Insert three clients with the option enabled
EXECUTE dbo.uspInsertCustomer @Name = 'ISACH', @City = 'Lille';
EXECUTE dbo.uspInsertCustomer @Name = 'AHMED', @City = 'Bordeaux';
EXECUTE dbo.uspInsertCustomer @Name = 'YANIS', @City = 'Marseille';

Finalmente, verifique el resultado de la consulta y lea los datos con una consulta SELECT en la tabla de clientes. Observe que los tres clientes están presentes dos veces cada uno en la tabla. Esto corresponde a las seis ejecuciones del comando SQL. Es decir, tres veces con la opción de visualización de conteo de filas encendida y tres veces con la opción de visualización apagada.

SELECT *
FROM dbo.Customers;

Este tutorial de desarrollo T-SQL explica cómo insertar datos desde un procedimiento almacenado de SQL Server. Finalmente, aquí hay un tutorial sobre cómo crear un procedimiento almacenado de SQL que devuelve valores con la opción OUTPUT.

Conclusión sobre la inserción de datos utilizando procedimientos almacenados de SQL Server

Este tutorial T-SQL explica cómo crear una tabla de ventas y cómo insertar datos con un procedimiento almacenado de SQL Server, utilizando variables. El tutorial también enseña cómo controlar la visualización del número de filas insertadas utilizando el comando SET NOCOUNT. Siguiendo estos pasos, es posible estandarizar efectivamente la inserción de datos y gestionar la visualización de los conteos de filas para procedimientos almacenados más complejos.

Be the first to comment

Leave a Reply

Tu dirección de correo no será publicada.


*