存储过程的一个简单实例

2024-08-01

存储过程的一个简单实例(精选5篇)

篇1:存储过程的一个简单实例

银行存款表(bankMoney)的内容如下

Id

userID

Sex

Money

001

Zhangsan

30

002

Wangwu

50

003

Zhangsan

40

要求1:查询表bankMoney的内容的存储过程

create procedure sp_query_bankMoney

as

select * from bankMoney

go

exec sp_query_bankMoney

注* 在使用过程中只需要把中的SQL语句替换为存储过程名,就可以了很方便吧!

实例2(向存储过程中传递参数):

加入一笔记录到表bankMoney,并查询此表中userID= Zhangsan的所有存款的总金额,

Create proc insert_bank @param1 char(10),@param2 varchar(20),@param3 varchar(20),@param4 int,@param5 int output

with encryption ---------加密

as

insert bankMoney (id,userID,sex,Money)

Values(@param1,@param2,@param3, @param4)

select @param5=sum(Money) from bankMoney where userID=‘Zhangsan‘

go

在SQL Server查询分析器中执行该存储过程的方法是:

declare @total_price int

exec insert_bank ‘004‘,‘Zhangsan‘,‘男‘,100,@total_price output

print ‘总余额为‘+convert(varchar,@total_price)

go

在这里再嗦一下存储过程的3种传回值(方便正在看这个例子的朋友不用再去查看语法内容):

1.以Return传回整数

2.以output格式传回参数

3.Recordset

传回值的区别:

output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中。

实例3:使用带有复杂 SELECT 语句的简单过程

下面的存储过程从四个表的联接中返回所有作者(提供了姓名)、出版的书籍以及出版社。该存储过程不使用任何参数。

USE pubs

IF EXISTS (SELECT name FROM sysobjects

WHERE name = ‘au_info_all‘ AND type = ‘P‘)

DROP PROCEDURE au_info_all

GO

CREATE PROCEDURE au_info_all

AS

SELECT au_lname, au_fname, title, pub_name

FROM authors a INNER JOIN titleauthor ta

ON a.au_id = ta.au_id INNER JOIN titles t

ON t.title_id = ta.title_id INNER JOIN publishers p

ON t.pub_id = p.pub_id

GO

au_info_all 存储过程可以通过以下方法执行:

EXECUTE au_info_all

实例4:使用带有参数的简单过程

CREATE PROCEDURE au_info

@lastname varchar(40),

@firstname varchar(20)

AS

SELECT au_lname, au_fname, title, pub_name

FROM authors a INNER JOIN titleauthor ta

ON a.au_id = ta.au_id INNER JOIN titles t

ON t.title_id = ta.title_id INNER JOIN publishers p

ON t.pub_id = p.pub_id

WHERE au_fname = @firstname

AND au_lname = @lastname

GO

au_info 存储过程可以通过以下方法执行:

EXECUTE au_info ‘Dull‘, ‘Ann‘

-- Or

EXECUTE au_info @lastname = ‘Dull‘, @firstname = ‘Ann‘

-- Or

EXECUTE au_info @firstname = ‘Ann‘, @lastname = ‘Dull‘

实例5:使用带有通配符参数的简单过程

CREATE PROCEDURE au_info2

@lastname varchar(30) = ‘D%‘,

@firstname varchar(18) = ‘%‘

AS

SELECT au_lname, au_fname, title, pub_name

FROM authors a INNER JOIN titleauthor ta

ON a.au_id = ta.au_id INNER JOIN titles t

ON t.title_id = ta.title_id INNER JOIN publishers p

ON t.pub_id = p.pub_id

WHERE au_fname LIKE @firstname

AND au_lname LIKE @lastname

GO

au_info2 存储过程可以用多种组合执行,

下面只列出了部分组合:

EXECUTE au_info2

-- Or

EXECUTE au_info2 ‘Wh%‘

-- Or

EXECUTE au_info2 @firstname = ‘A%‘

-- Or

EXECUTE au_info2 ‘[CK]ars[OE]n‘

-- Or

EXECUTE au_info2 ‘Hunter‘, ‘Sheryl‘

-- Or

EXECUTE au_info2 ‘H%‘, ‘S%‘

篇2:存储过程的一个简单实例

因为它比SQL语句执行快.

②存储过程是什么?

把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句.(AX写作本文时观点)

③来一个最简单的存储过程

CREATE PROCEDURE dbo.testProcedure_AX

AS

select userID from USERS order by userid desc

注:dbo.testProcedure_AX是你创建的存储过程名,可以改为:AXzhz等,别跟关键字冲突就行了.AS下面就是一条SQL语句,不会写SQL语句的请回避.

④我怎么在ASP.NET中调用这个存储过程?

下面黄底的这两行就够使了.

public static string GetCustomerCName(ref ArrayList arrayCName,ref ArrayList arrayID)

{

SqlConnection con=ADConnection.createConnection;

SqlCommand cmd=new SqlCommand(“testProcedure_AX”,con);

cmd.CommandType=CommandType.StoredProcedure;

con.Open();

try

{

SqlDataReader dr=cmd.ExecuteReader();

while(dr.Read())

{

if(dr[0].ToString()==“”)

{

arrayCName.Add(dr[1].ToString());

}

}

con.Close();

return “OK!”;

}

catch(Exception ex)

{

con.Close();

return ex.ToString();

}

}

注:其实就是把以前

SqlCommand cmd=new SqlCommand(“select userID from USERS order by userid desc”,con);

中的SQL语句替换为存储过程名,再把cmd的类型标注为CommandType.StoredProcedure(存储过程)

⑤写个带参数的存储过程吧,上面这个简单得有点惨不忍睹,不过还是蛮实用的.

参数带就带两,一个的没面子,太小家子气了.

CREATE PROCEDURE dbo.AXzhz

/*

这里写注释

*/

@startDate varchar(16),

@endDate varchar(16)

AS

select id from table_AX where commentDateTime>@startDate and commentDateTime

<@endDate order by contentownerid DESC

注:@startDate varchar(16)是声明@startDate 这个变量,多个变量名间用【,】隔开.后面的SQL就可以使用这个变量了.

⑥我怎么在ASP.NET中调用这个带参数的存储过程?

public static string GetCustomerCNameCount(string startDate,string endDate,ref DataSet ds)

篇3:存储过程的一个简单实例

目前国内对存储介质信息检测及备份装置的研究屡见报端, 中国实用新型专利ZL 201120566374.1分开了一种可移动存储介质检测装置和系统, 检测装置包括:可移动存储介质输入电平检测端口、电压比较器、开关单元和指示电平输出端口等。其中, 可移动存储介质输入电平检测端口用于获取可移动存储介质输入电平, 电压比较器将该输入电平与预设参考电平比较后输出驱动电平, 以该驱动电平导通开关单元后, 开关单元通过指示电平输出端口输出驱动解码芯片供电源开关的指示电平。通过以上工作流程实现了在检测到有可移动存储介质插入解码芯片时进行对解码芯片的供电, 并且不影响解码芯片的运作而保证了可移动存储介质的可靠读入。但上述专利仅提供了存储介质的检测方法, 仅能用于与能进行其他数据处理的机器组合使用, 比如计算机、烧录机等, 都不方便随身携带。本研究设计的目的在于克服现有技术的不足, 提供一种操作简单、兼容多种存储介质的信息检测及复制、方便随身携带的简单便携的存储介质信息检测及备份装置。

1 装置结构描述

本文所阐述的简单便携的存储介质信息检测及备份装置由电源管理模块、存储设备接口模块、处理器、存储模块、检测及备份模块等几个主要部分组成。

1.1 电源管理模块

电源管理模块包括内置电池、外接电源, 通过存储设备接口模块向连接在存储设备接口模块的外部存储介质供电。

1.2 存储设备接口模块

存储设备接口模块包括USB接口、IDE接口、SATA接口、SCSI接口、存储卡接口等。

1.3 处理器

处理器为ARM架构处理器, 分别与存储设备接口模块、存储模块相连。

1.4 存储模块

存储模块为Nand flash存储模块。

1.5 检测及备份模块

检测及备份模块包括底层硬件驱动模块、存储介质自动识别模块、存储介质检测模块、存储介质复制模块、文件系统支持模块等, 分别与电源管理模块、存储设备接口模块、处理器、存储模块相连。

1.6 蓝牙支持模块

另外, 该装置还包括蓝牙支持模块, 分别与处理器、存储模块相连;触屏支持模块, 包含触摸屏、LED、提供可视菜单、用户操作接口及提示设备状态, 与处理器相连。

1.7 AQ 处理模块

AQ处理模块用于对检测结果进行加密并保存;报告管理模块, 用于生成装置的操作报告。

结构示意图如下图所示:

2 装置功能阐述

通过本存储介质信息检测及备份装置可以实现以下几个功能:

2.1 存储介质识别

将需要检测或者复制的存储介质通过数据线插入对应的接口, 设备自动加载存储介质并显示存储介质的容量大小。

2.2 存储介质检测

设备对存储介质的硬件信息及健康状况执行检测, 在检测存储介质的同时设备调用文件系统模块, 将检测信息进行处理和储存, 同时数据AQ处理模块将处理后的数据加密并保存在内置存储模块上, 然后等设备提示检测完成即可浏览检测报告。

2.3 存储介质复制

在完成存储介质识别操作后, 启动复制功能, 源盘区域的存储介质的数据信息将被复制到目标硬盘中, 在复制过程中, 同时调用文件系统模块, 将复制情况进行处理和存储, 同时数据AQ处理模块将处理后的数据加密并保存在内置存储模块上, 此时只需等设备提示复制完成即可。

3 结论

由上述装置结构模式及功能实现过程可以看出, 本存储介质信息检测及备份装置操作简单、兼容多种存储介质的信息检测及复制装置, 支持检测的存储介质类型有SATA盘、SAS盘、IDE盘、U盘、存储卡及移动硬盘。主要有四种工作模式: (1) 将需要检测的存储介质插入设备源盘区域对应的接口中, 检测存储介质硬件信息及健康状况并存储在本设备中; (2) 将需要复制的存储介质 (各种存储介质皆可) 插入源盘区域, 将目标硬盘 (SAS/SATA) 插入目标区域, 即可执行简单的一对一复制; (3) 将U盘插入USB读写接口, 即可将报告导出至U盘, 即插即用, 无需特别的驱动程序; (4) 支持蓝牙打印报告的功能。另外, 装置内置存储用于存储检测过程中产生的数据, 同时, 本装置采用内外供电模式, 合理应对断电等突发状况, 从而有效地保护设备及存储介质;采用功能稳定的ARM架构处理器、触摸形式显示屏, 提高设备灵敏性;设备体积小巧、重量轻、便于随身携带。适用于现代社会经济飞速发展过程中, 纷繁复杂的数据信息检测及备份。

摘要:随着信息时代的飞速发展, 数据信息在生活中的作用越来越显重要, 数据恢复在社会生活中的应用越来越广, 这便需要对存储介质的信息进行必要的检测和备份。虽然一些常见的软件可以通过PC端实现检测和备份功能, 但也就是针对常见USB设备和一些专业性比较强的硬盘, 不方便备份且不易携带, 因此能提供一种兼容各种存储介质, 并且方便使用、易于携带且不依赖于电脑就能实现检测和备份的设备非常重要。本文阐述了一种简单便携的存储介质信息检测及备份装置的研究设计。

关键词:简单便携,存储介质,信息检测,备份

参考文献

[1]艾君.压缩算法在数据备份及恢复中的应用研究[J], 湖北大学, 2009 (5) .

[2]何章生.一种可移动存储介质检测装置和系统[J], 中国应用技术网, 2011 (12) .

篇4:存储过程的一个简单实例

代码如下:

package main

import (

“net/http”

)

func main() {

http.Handle(“/”, http.FileServer(http.Dir(“./”)))

http.ListenAndServe(“:8123”, nil)

}

希望本文所述对大家的Go语言程序设计有所帮助,

★ pgone自我介绍动态图

★ 制作一个潜望镜教学反思

★ 迎财神贺词动态图

★ go语言执行等待直到后台goroutine执行完成实例分析

★ 关于go的用法及解释

篇5:存储过程的一个简单实例

-06-06sqlserver 存储过程分页(按多条件排序)

-10-10sqlserver数据库迁移后,孤立账号解决办法

2010-03-03数据结构简明备忘录 线性表

-03-03海量数据库的查询优化及分页算法方案

2011-09-09简单触发器的使用 献给SQL初学者

2010-07-07分发服务器 系统抛出18483错误,未能连接服务器,因为'distribu

2010-09-09sql根据表名获取字段及对应说明

2010-04-04sqlserver 此数据库没有有效所有者错误的解决方法

上一篇:班班通学习使用心得下一篇:周边农村三农问题调研报告