sql server创建存储过程(有参,无参,有输出)

student表已经有了,“创建”在中间,测试在最下面!

select * from student;
sid     sname   sex age  tel
s001    丰登儿 男   35  13527542451
s002    班克尔 女   17  13884233134
s003    车笔刀 女   13  15086623248
s004    趴耳朵 男   19  15323535256
s005    直角  女   23  15653579258
s006    扳手  女   19  13663279788
s007    俄石板 女   21  13656529396
  1. –创建一个存储过程,查询所有的学生信息
create procedure p1
as 
select * from student
go

2‘–创建一个存储过程,根据学号查询学生信息

create procedure p2
@sid varchar(8)
as
select * from student
where sid = @sid;
go

3’ –创建一个存储过程,根据年龄和性别查询学生信息

    create procedure p3 
@age int, @sex varchar(2)
as 
select * from student
where age = @age and sex = @sex;
go

4‘–根据学号输出该学生的电话号码

create procedure p4
@sid varchar(8),
@tel varchar(16) output--特别注意“outputas
select @tel = tel from student
where sid = @sid

-下面我们来测试存储过程
1.execute p1;
结果为:

sid     sname   sex age  tel
s001    丰登儿 男   35  13527542451
s002    班克尔 女   17  13884233134
s003    车笔刀 女   13  15086623248
s004    趴耳朵 男   19  15323535256
s005    直角  女   23  15653579258
s006    扳手  女   19  13663279788
s007    俄石板 女   21  13656529396

2.execute p2 's001'
结果如下:

s001    丰登儿 男   35  13527542451

3.execute p3 17, '女';
结果如下:

s002    班克尔 女   17  13884233134

4.特别注意“output”

declare @r varchar(16)
execute p4 's001',@r output--特别注意“output”
print @r;

运行结果如下:

13527542451

over~

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个带有输入参数输出参数SQL Server 存储过程示例: ```sql CREATE PROCEDURE GetPersonById @Id INT, @FirstName VARCHAR(50) OUTPUT, @LastName VARCHAR(50) OUTPUT AS BEGIN SELECT @FirstName = FirstName, @LastName = LastName FROM Persons WHERE Id = @Id END ``` 在上面的示例中,存储过程的名称为 GetPersonById,它包含一个输入参数 @Id,以及两个输出参数 @FirstName 和 @LastName。存储过程根据输入参数 @Id 获取相应的人员记录,并将结果赋值给输出参数 @FirstName 和 @LastName。 要在 SQL Server执行这个存储过程并获取输出参数的值,可以使用以下代码: ```sql DECLARE @FirstName VARCHAR(50) DECLARE @LastName VARCHAR(50) EXEC GetPersonById @Id = 1, @FirstName = @FirstName OUTPUT, @LastName = @LastName OUTPUT SELECT @FirstName, @LastName ``` 在上面的示例中,我们声明了两个变量 @FirstName 和 @LastName,然后使用 EXECUTE 语句调用存储过程,并将输出参数 @FirstName 和 @LastName 的值分别赋值给这两个变量。最后,我们使用 SELECT 语句输出这两个变量的值。 如果要在 .NET Framework 或 .NET Core 中调用这个存储过程,可以使用 ADO.NET 中的 SqlCommand 对象和 SqlParameter 对象。以下是一个使用 C# 语言调用存储过程的示例: ```csharp using System.Data.SqlClient; public void GetPersonById(int id) { string connectionString = "Data Source=<server>;Initial Catalog=<database>;User ID=<username>;Password=<password>"; using (SqlConnection connection = new SqlConnection(connectionString)) using (SqlCommand command = new SqlCommand("GetPersonById", connection)) { command.CommandType = System.Data.CommandType.StoredProcedure; command.Parameters.AddWithValue("@Id", id); SqlParameter firstNameParam = new SqlParameter("@FirstName", System.Data.SqlDbType.VarChar, 50); firstNameParam.Direction = System.Data.ParameterDirection.Output; command.Parameters.Add(firstNameParam); SqlParameter lastNameParam = new SqlParameter("@LastName", System.Data.SqlDbType.VarChar, 50); lastNameParam.Direction = System.Data.ParameterDirection.Output; command.Parameters.Add(lastNameParam); connection.Open(); command.ExecuteNonQuery(); string firstName = (string)firstNameParam.Value; string lastName = (string)lastNameParam.Value; Console.WriteLine($"First Name: {firstName}, Last Name: {lastName}"); connection.Close(); } } ``` 在上面的示例中,我们使用 SqlCommand 对象来创建连接和执行存储过程。我们设置 CommandText 属性为存储过程名称,并添加一个输入参数。然后,我们使用 SqlParameter 对象来添加两个输出参数,并将它们添加到 SqlCommand 对象的 Parameters 集合中。我们打开连接并执行命令,然后获取输出参数的值。最后,我们关闭连接。需要注意的是,连接字符串需要根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值