当前位置: 首页 > news >正文

移动端网站制作站长工具站长之家

移动端网站制作,站长工具站长之家,信息技术会考做网站,好看的商城网站设计1,前言 这是实习期间学习的,我可能是在学校没好好听课,(或者就是学校比较垃,没教这部分,在公司经理让我下去自己学习,太难了,因为是公司代码很多部分都是很多表的操作&#…

1,前言        

        这是实习期间学习的,我可能是在学校没好好听课,(或者就是学校比较垃,没教这部分,在公司经理让我下去自己学习,太难了,因为是公司代码很多部分都是很多表的操作,所以导致都是存储过程,我最开始一脸懵)

        存储过程适用于各种关系型数据库,它就相当于是多条sql语句写在一起,写成了一个程序,可以一起执行。(可能不准确,但是我觉得比较便于理解)

        百度百科解释:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。

        根据此解释,我们可以分析一下,抓住其中几个关键部分:

2,存储过程的优点
(1)重复使用,存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
(2)一次编译后永久有效,能够实现较快的执行速度
(3)能够减少网络流量
(4)可被作为一种安全机制来充分利用,可以防止sql注入攻击

3,适用情况

        由此可见,存储过程优点还是很多的,虽然也有缺点,但是使用与否还是要看实际情况,存储过程适用于:

        复杂业务逻辑:涉及多个表、多次查询和更新操作的复杂业务流程

        批量操作:导入大量数据、批量更新或删除数据。

        提高性能。

        数据安全性和权限控制。

        数据一致性和事务管理:存储过程可以包含事务处理语句,确保一系列数据库操作的原子性和一致性。

        对于简单的数据库操作或只涉及单个查询的情况,直接在应用程序中执行SQL语句可能更为简洁和高效。(所以,会了存储过程可不能写一个简单的单表查询就用存储过程)

4,存储过程的分类

        存储过程可分为三类:系统提供的存储过程、用户自定义存储过程和扩展存储过程
        系统:系统提供的存储过程,sp_*
        扩展:SQL Server环境之外的动态链接库DLL,xp_
        远程:远程服务器上的存储过程
        用户:创建在用户数据库中的存储过程
        临时:属于用户存储过程,#开头(局部:一个用户会话),##(全局:所有用户会话)

5,创建用户存储过程

        首先,肯定是先找到位置,打开存储过程,下面是两个软件不同位置,一个是可编程性,一个是函数。

         下面就是最最最重要的了, 如何开始写存储过程

        例如我们创建一个存储过程(空):

CREATE PROCEDURE [dbo].[abc]
AS
BEGINEND格式
CREATE PROC 过程名
@形参名 类型
@变参名 类型 OUTPUT
AS SQL语句

        其中[abc]是存储过程的名字,可以就行更改,只要再次进行编译就可以。

        简单的写两个实例:

        1,创建一个多表查询的存储过程

USE ABC
GO
CREATE PROCEDURE [dbo].[abc]
AS
SELECT x.sid,x.sname,y.cid,y.grade
FROM student x INNER JOIN sc y
ON x.sid=y.sid
WHERE x.sid=‘101010’

        2,利用输出参数计算阶乘

USE ABC
IF EXISTS(SELECT name FROM sysobjects
WHERE name=‘bcd’ AND type=‘P’) --名称是bcd类型是procedure
DROP PROCEDURE factorial
GO
CREATE PROCEDURE [dbo].[bcd]
@in float , --输入形式参数
@out float OUTPUT --输出形式参数
AS
DECLARE @i int
DECLARE @s float
SET @i=1
SET @s=1
WHILE @i<=@in
BEGIN
SET @s=@s*@i
SET @i=@i+1
END
SET @out=@s --给输出参数赋值

由此可见,存储过程也不难理解,它还有另外几部分:

调用存储过程
DECLARE @ou float
EXEC factorial 5,@ou out --实参表
PRINT @ou

删除存储过程
语法:
Drop procedure 过程名
SSMS方式删除:右键点击该存储过程,删除

修改存储过程
语法:
Alter procedure 过程名
As
SQL 语句

        以上是对存储过程简单的介绍,具体还有在程序中使用的部分,如何调用,需要什么参数,这都是需要继续的学习

        最后给大家看一下我学习成果,我写的一段简单的存储过程:

USE [XXX]
GOSET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Last Date:   
-- Description:  数据校验
-- =============================================
ALTER PROCEDURE [dbo].[XXX_OfflineDataCheck2]
@EngineSerialNo NVARCHAR(255) = NULL,
@EngineType NVARCHAR(255) = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE @QCOUNT INT, @TCOUNT INT, @Result INT, @TYPE NVARCHAR(255)
SET @Result = 0
SELECT @TYPE = LocationNo FROM Mst_Product WHERE @EngineType = @EngineType
IF @TYPE = '33'
BEGINSELECT @TCOUNT = COUNT(*) FROM Trn_InspectionConfig WHERE EngineType = @EngineType AND StationCode NOT IN ('F01-3','F03-3','M15-2','S04-2','S13-2','S14-2','S15-2','F06','F07','F08')
END
ELSE
BEGINSELECT @TCOUNT = COUNT(*) FROM Trn_InspectionConfig WHERE EngineType = @EngineType AND StationCode NOT IN ('F01-3','F03-3','M15-2','S04-2','S13-2','S14-2','S15-2')
END
SELECT @QCOUNT = COUNT(*) FROM Tmp_QualityDatas WHERE EngineSerialNo = @EngineSerialNo
SELECT @TCOUNT,@QCOUNT
IF @QCOUNT < @TCOUNT
BEGINSELECT @QCOUNT = COUNT(*) FROM (SELECT * FROM Trn_QualityDatas UNION ALL SELECT * FROM Tmp_QualityDatas) A WHERE EngineSerialNo = @EngineSerialNo
END
SELECT @TCOUNT,@QCOUNT
IF @QCOUNT < @TCOUNT SET @Result = 21
RETURN @Result
SET NOCOUNT OFF;
END

http://www.15wanjia.com/news/20882.html

相关文章:

  • 网站备案要网站做才可以使用吗建站企业网站
  • 网站后期维护内容友情链接外链
  • 用html做网站代码个人博客网页设计html
  • 帮做3d模型的网站杭州网站推广优化
  • wordpress创建自定义页面自己怎么优化网站排名
  • 自己做家具展示网站键词优化排名
  • 行业网站建设运营seo快速排名百度首页
  • 筛网怎么做网站网络营销八大职能
  • 自己怎么做网上注册免费的网站b2b网站免费推广
  • 哪个建设网站好宁波优化系统
  • 教育培训网站开发西安百度seo推广电话
  • 网站建设的落地页今日新闻最新头条10条摘抄
  • wordpress建站需要写代码吗免费的外贸b2b网站
  • 如何做网站图标平台seo什么意思
  • 滨州网站建设制作图片外链
  • 青岛专业网站制作外链交换平台
  • 网站建设页面生成网站开发合同
  • 银川专业做网站百度百科查询
  • 交易平台网站建设品牌推广运营策划方案
  • 校园网站做等级保护推广优化网站
  • 深圳前十网站建设公司seo教学
  • 香港网站域名申请百度seo排名优
  • 郑州公司网站建设服务排名优化工具下载
  • asp网站怎么做404页面跳转seo具体seo怎么优化
  • 保山市城乡建设局网站百度24小时人工客服
  • seo优化排名教程百度技术网站排名优化首页
  • 有点子外包做网站会不会被盗窃上海seo排名
  • 手机网站淘宝客怎么做产品推销方案
  • 有没人做阿里巴巴网站维护的营销网络怎么写
  • 查询网站域名备案申请网址怎么申请的