Saltar al contenido

Escribiendo procedimientos almacenados T-SQL

Considere la tabla de empleados que aparece a continuación:

nombreidentificaciondirecciónteléfono1domUSA35111111112brianUSA30222222223lettyUSA3233333333

Escribiendo procedimientos almacenados T-SQL
Escribiendo procedimientos almacenados T-SQL

Puede utilizar el siguiente guión para configurar los datos de la prueba:

123456789101112Empleado creíble (id int,nombre varchar(50),edad int,dirección varchar(100),teléfono int);Ir a valores de empleado(1,$0027dom$0027,35,$0027USA$0027,1111111),(2,$0027brian$0027,30,$0027USA$0027,222222),(3,$0027letty$0027,32,$0027USA$0027,3333333)select*from employee

sql

Ejemplo 1: Un procedimiento almacenado que devuelve una lista de personas mayores de 31 años.

12345CREATEPROCEDURE getmployeeByageASselect*from employeewhere age
sql

Ejecute el siguiente comando para llamar al procedimiento

1execute dbo.getmployeeByage

sqlidnameaddressagephone1domUSA35111111113lettyUSA3233333333

Ejemplo 2: Modificar el procedimiento getmployeeByage para tomar la edad como parámetro en lugar de codificarlo en el código T-SQL.

123456ALTERPROCEDURE getmployeeByAge @ageintASselect*from employeewhere age
sql

Preste atención a cómo se utiliza el parámetro @age en la condición where de la declaración selectora.

Ejemplo 3: Usando el procedimiento getmployeeByage, muestra todos los empleados mayores de 30 años.

1execute dbo.getmployeeByAge 30

sql

El resultado del comando de ejecución sería el siguiente:

nombreidentificaciondirecciónteléfono1domUSA35111111113lettyUSA3233333333

Ejemplo 4: Escriba un procedimiento que devuelva la edad media de los empleados.

1234CREATEPROCEDURE getAvgAge ASselectavg(age)from employeeGO

sql

Al ejecutar el procedimiento, debería obtener 32 como resultado.

Ejemplo 5: Modificar el procedimiento getAvgAge para devolver el resultado utilizando un parámetro de salida.

1234567ALTERPROCEDURE getAvgAge @avgageint OUTPUTASBEGINselect@avgage=avg(age)from employeeENDGO

sql

Presta atención a la declaración selectiva. Aquí, el valor del parámetro @avgage se establece por la línea @avgage = avg(edad).

Ejemplo 6: Llame al procedimiento almacenado getAvgAge y muestre el resultado del parámetro de salida.

123declare@avgageResintexecute dbo.getAvgAge @avgage=@avgageRes outputselect@avgageRes

sql

Para mostrar el valor del parámetro de salida, primero debe declarar una variable (@avgageRes), fijar la salida del procedimiento a la variable que acaba de declarar (@avgage = @avgageRes) y, finalmente, seleccionar el resultado para su visualización.