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
qq:527592435