写带有参数存储过程,说的详细点,参数的作用,举具体例子,解释参数
发布网友
发布时间:2022-04-27 07:59
我来回答
共2个回答
热心网友
时间:2023-09-14 10:20
写带有参数存储过程应该是SQL数据库的问题:
先建立一个表,并添加一些数据来进行演示:
CREATE TABLE t_student(
Id INT NOT NULL,
Name NVARCHAR (10) NULL,
Age TINYINT NULL,
School NVARCHAR(20) NULL,
Class NVARCHAR(10) NULL,
Score FLOAT NULL,
CONSTRAINT [PK_Student_Id] PRIMARY KEY CLUSTERED(Id)
)
GO
INSERT INTO t_student VALUES(1,'张小红',8,'育才小学','一班',92)
INSERT INTO t_student VALUES(2,'王丽丽',8,'育才小学','一班',90)
INSERT INTO t_student VALUES(3,'张燕',7,'云华小学','二班',86)
INSERT INTO t_student VALUES(4,'刘华',6,'云华小学','二班',85)
一、EXEC
EXEC命令可以执行一个存储过程也可以执行一个动态SQL语句。先来看看怎么执行存储过程:
新建一个存储过程 SP_GetStudent ,返回 成绩大于90 分的学生:
CREATE PROCEDURE [dbo].[Sp_GetStudent]
@Score FLOAT,
@Nums INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM t_student WHERE Score >=@Score
SELECT @Nums=COUNT(1) FROM t_student WHERE Score >=@Score
IF(@Nums>0)
RETURN 1
ELSE
RETURN 0
END
GO
该存储过程涉及了 查询操作、返回值和输出参数,我们来看用EXEC 命令如何调用:
DECLARE @return_value int,
@OutNums int
EXEC @return_value = [dbo].[Sp_GetStudent]
@Score = 90,
@Nums = @OutNums OUTPUT
SELECT @OutNums as N'大于90分的人数'
SELECT '返回值' = @return_value
GO
执行结果:
我们发现EXEC 执行存储过程和我们平时程序执行一个方法是几乎一样的,返回值参数 直接就可以等于存储过程的执行后的返回值,输出参数 在后面需要增加 OUTPUT 关键字。
热心网友
时间:2023-09-14 10:20
是什么数据库、系统环境、是C语言?