sql存储过程视频
方法/步骤
第一步:点击数据库下的“可编程性”,选择“存储过程”,点击鼠标右键,选择“新建存储过程”
第二步:在create
PROCEDURE
后输入存储过程的名字,紧跟着的就是
定义
存储过程的
参数
,接下来就可以去编写自己所需要组装的存储过程
语句
了
第三步:点击上面的执行,存储过程就写好了,要怎么调用呢,在
sqlserver
的语句查询框中,输入exec
存储过程名
参数,执行就可以了。

2. SQL存储过程
create table #kfztdttj ( zt char(10) null ,fjs int null )
是创建表啊
加#是临时表
加@说明是变量
【select * into zfs from FJ WHERE fpzt = '11' and substring(fjfpc1,1,1) <> '8' and substring(fjfpc1,1,1) <> '9' 】
【select * into zfs】
是把查询的东西新建一个表zfs
【from FJ 】
是从FJ表进行查询,需要满足的条件是
【WHERE fpzt = '11' and substring(fjfpc1,1,1) <> '8' and substring(fjfpc1,1,1) <> '9' 】
substring是字符串截取函数,substring(fjfpc1,1,1) 从fjfpc1第一个字符截取长度为1的字符
<>是不等于
【insert into #kfztdttj (zt,fjs) values ('干',@kfs)】
是向表#kfztdttj中的zt、fjs列插入值:'干',@kfs
—————————————————————————————————
临时表只要你断开了这个数据库连接就没了。
declare @kfs int 这里的@kfs是代表声明变量,@kfs是一个整体。不要拆开看
sqlserver自己定义变量就是@aaaaa这样。
@kfs是@kfs,kfs是kfs,就跟1是1、2是2一样。。
【insert into #kfztdttj (zt,fjs) values ('干',@kfs) 这里的kfs就是这面声明的kfs变量吗?】
参照上面的说法。是@kfs变量。不是kfs变量,谢谢
3. sql存储过程
一、简单的储存过程:
1、创建一个存储过程
create procere GetUsers()
begin
select * from user;
end;12345
2、调用存储过程
call GetUsers();12
3、删除存储过程
drop procere if exists GetUsers;
二、带参数的存储过程
1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;
2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出
create procere GetScores(
out minScore decimal(8,2),
out avgScore decimal(8,2),
out maxScore decimal(8,2)
)
begin
select min(score) into minScore from user;
select avg(score) into avgScore from user;
select max(score) into maxScore from user;
end;1234567891011
3、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以 @ 开始) , 如下所示 :
call GetScores(@minScore, @avgScore, @maxScore);12
4、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量 @minScore, @avgScore, @maxScore , 然后即可调用显示该变量的值 :
select @minScore, @avgScore, @maxScore;
5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :
create procere GetNameByID(
in userID int,
out userName varchar(200)
)
begin
select name from user
where id = userID
into userName;
end;12345678910
6、调用存储过程 :
call GetNameByID(1, @userName);
select @userName;123
参考资料
SQL存储过程使用介绍.csdn博客[引用时间2017-12-31]
4. 什么是SQL的存储过程
sql存储过程说简单点就是一个在t-sql下用户可以自行定义的函数,
但是与一般的函数也有不同的地方,比如它的返回值只能return(int类型),如果你要输出什么信息的话只能用output.这也是存储过程的一个特色吧,设定的参数可以有输出。讲起来有点抽象,给你个例子看看吧!
首先创建一个存储过程
create
procere
cunchuguocheng
@a
int,
@b
int,
@c
int
output
as
begin
select
@c
=
@a+@b
return(0)
end
然后调用这个存储过程
declare
@value
int,
--返回值
@c
int
--结果值
exec
@value
=
cunchuguocheng
2,2,@c
output
select
@value
as
返回值
select
@c
as
结果值
程序写的很简单,你运行一下我想你就会对存储过程有所了解了。
5. SQL怎么调用存储过程
建立好SQL存储过程,在很多的时候就会调用这些存储过程。使用到存储过程中的结果集。但若直接使用SQL存储过程结果集与其他表进行连接,却比较麻烦,如使用openrowset来进行调用存储过程却是不安全的。来看看openrowset的命令参数就知道了:select * from openrowset('sqloledb','ip';'user';'pwd','exec 库..过程') 。参数需要使用的数据库的密码,并且SQL默认是没有允许openrowset执行的。
其实我们可以还使用的其实方法,更安全地调用SQL存储过程。
http://jingyan..com/article/915fc4149ad49e51384b204e.html
6. sql存储过程
定义变量和赋值
你看看下面有没有调用@IDflag的,如果没有就直接把这两句删除了,没什么用。
7. SQL存储过程如何调用存储过程
1、首先先创建一个存储过程,代码如图,存储过程主要的功能是为表JingYan插入新的数据。

