SQL Server数据库-存储过程(第二讲)

创建数据库

/*创建数据库*/
create database QQDB

使用数据库

/*使用数据库*/
use QQDB 

创建QQ用户信息表

/*创建QQ用户信息表*/
create table Users
(
qq int primary key identity(10000,1),
--两个参数
--第一个标识种子(从1000开始递增)
--第二个增量(步长)
pwd varchar(36) not null check(len(pwd)>=6 and len(pwd)<=36),
nickname nvarchar(12) default('匿名'),
--nvarchar 可变长度 Unicode 数据
--Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。支持中文
caretetime datetime default(getdate())
--创建时间
)

 

创建存储过程

/*
创建存储过程

--注册QQ号(系统提供)
--成功:返回QQ号码

--数据库所有的物理结构创建都是 create,修改都是 alter,删除都是drop

--procedure  简写 proc

【存储过程的三种参数】
--1.输入参数 input
--2.输出参数 output
--3.返回参数 return (必须是数字)
*/
alter proc PROC_Register
(
@nickname nvarchar(12),
@pwd varchar(36),
@caretetime datetime output
)
as
begin
--插入
insert into users(pwd,nickname)
values(@pwd,@nickname)
declare @qq int
select @qq=@@identity
--返回qq
select @caretetime=caretetime from users where qq=@qq
return @qq
end

存储过程有三种参数

1.输入参数 input:
@nickname nvarchar(12),
2.输出参数 output:
@caretetime datetime output
3.返回参数 return:
return @qq





执行存储过程

/*
执行存储过程
关键词 exec :全称 execute
*/

--1.声明变量
declare @qq int,@caretetime datetime
--@qq变量:用于接受存储过程返回值

--2.执行
exec @qq=PROC_Register '李四7','123456',@caretetime output

--3.打印结果
select @qq ,@caretetime

 

 


 

 

存储过程,和c#的方法几乎一样

public void 方法名 (string nickname,string pwd,out int qq)
{
}

 

【另一个C#的知识点】

ref 有进有出,out只出不进

ref:“初始化时ref必须赋值
out: 不需要赋值

c#的out 和 sql service 存储过程的 output 一样

 

 

c# 执行 sql service 的存储过程

https://www.cnblogs.com/cplvfx/articles/10507990.html

 

posted @ 2019-03-10 23:05  橙-极纪元JJYCheng  阅读(164)  评论(0编辑  收藏  举报