资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

sqlserver创建存储过程,SQLserver创建存储过程语句

如何创建MySQL存储过程可以返回一个表类型的数据

如何创建MySQL存储过程可以返回一个表类型的数据

公司主营业务:网站设计制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出会宁免费做网站回馈大家。

首先需要知道“另一个存储过程”的结果集的所有列的类型。

假设“另一个存储过程”的名字是sp1,没有参数,返回的结果集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集

如下

CREATE PROCEDURE sp2

AS

DECLARE @t table(a int,b int,c int)

INSERT INTO @t(a,b,c)

EXEC sp1

SELECT * FROM @t

使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用。

创建存储过程

和数据表一样,在使用之前需要创建存储过程,它的简明语法是:

引用:

Create PROC 存储过程名称

[参数列表(多个以“,”分隔)]

AS

SQL 语句

例:

引用:

Create PROC upGetUserName

@intUserId INT,

@ostrUserName NVARCHAR(20) OUTPUT -- 要输出的参数

AS

BEGIN

-- 将uName的值赋给 @ostrUserName 变量,即要输出的参数

Select @ostrUserName=uName FROM uUser Where uId=@intUserId

END

其中 Create PROC 语句(完整语句为Create PROCEDURE)的意思就是告诉SQL SERVER,现在需要建立一个存储过程,upGetUserName 就是存储过程名称,@intUserId 和 @ostrUserName 分别是该存储过程的两个参数,注意,在SQL SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。

二、存储过程的调用

之前已经创建了一个名为“upGetUserName”的存储过程,从字面理解该存储过程的功能是用来取得某一个用户的名称。存储过程建立好了,接下来就是要在应用程序里调用了,下面看一下在ASP程序里的调用。

sql server中怎样用代码创建存储过程

打开SQL server management studio,连接到数据库,展开想要创建的数据库,找到【可编程性】-【存储过程】的菜单

请点击输入图片描述

在第一步找到的【存储过程】菜单项上面,点击鼠标右键,依次选择【新建】-【存储过程】,就可以开始创建存储过程了

请点击输入图片描述

当点击了第二步的【存储过程】之后,在右侧就会出现一个新的窗口,而且默认有好多的代码和注释,这些就是sqlserver默认创建的存储过程的结构和注释

请点击输入图片描述

对于第三步看到的存储过程结构,因为是英文的,可能看着比较吃力。本文特意做了一个中文的翻译对照版本,同时增加了一下设置项的解释。

1)SET ANSI_NULLS ON:意思是空值NULL在匹配NULL条件的时候返回false,这种判断null就需要使用 is null 或者 is not null

2)SET ANSI_NULLS OFF:意思是空值NULL在匹配NULL条件的时候返回true

3)SET QUOTED_IDENTIFIER ON:意思是如果内容与sqlserver的关键字相同,允许通过加双引号、单引号的方式加以区分

4)SET QUOTED_IDENTIFIER OFF:意思是与sqlserver的关键字相同的,不允许加双引号,也就是自定义的不允许与关键字重复

5)SET NOCOUNT ON:意思是不返回影响的行数

6)SET NOCOUNT OFF:意思是要返回影响的行数

请点击输入图片描述

此处仅仅创建一个简单的演示存储过程,名字叫做usp_SimpleStoreProcedure,拥有一个整型的传入参数 @x,存储过程直接返回传入参数乘以10倍的结果。写完存储过程之后,按F5就可以将其存储到数据库中

请点击输入图片描述

在第二步中找到的【存储过程】菜单下面找到第5步创建的存储过程名字usp_SimpleStoreProcedure,在这个名字上面点击鼠标右键,选择【执行存储过程】

请点击输入图片描述

紧接着,会弹出一个【执行过程】的界面,里面有存储过程的参数,在【值】这一列输入想要传入的参数值,比如10,然后点击【确定】按钮,就可以看到执行结果100了。

注意:假设是使用sql语句执行存储过程,直接使用这样的语句就行了: EXEC [dbo].[usp_SimpleStoreProcedure] @x = 10

请点击输入图片描述

sqlserver怎么创建存储过程

基本语法如下

create proc name--------------创建存储过程 'name' 为存储过程的名称

@变数 varchar(20)---------------定义变数  和它的类型

as

--------------------------------------------你要写的select 或者其他的sql 语句

sqlserver里存储过程怎么调用存储过程

sqlserver里调用存储过程的具体操作步骤如下:

1、打开SQL Server Managment管理工具,新建一个表。

2、然后在表中插入一些样例数据。

3、接下来在SQL Server Managment中右键单击可编程性,选择新建存储过程。

4、然后在SQL编写界面中编写SQL语句,注意这里的@name就是接收的输入参数。

5、编写好存储过程,执行一下,就会在可编程性下面找到创建的存储过程。

6、紧接着,会弹出一个【执行过程】的界面,里面有存储过程的参数,在【值】这一列输入想要传入的参数值,比如10,然后点击【确定】按钮,就可以看到执行结果100了。

SqlServer存储过程

create procedure prCreateSubPlan

as

begin

declare @id int,

@intCycle int,

@planName varchar(100),

@createTime smalldatetime,

@cycleTime int

select @id = min(t_cplan_id) from t_cplan

while (@id is not null)

begin

select @planName=t_plan_name, @createTime = createTime, @cycleTime = cycleTime from t_cplan where t_cplan_id=@id

select @intCycle= 0

while (@intCycle@cycleTime)

begin

-- 表t_plan 列t_plan_id是IDENTITY 列

insert t_plan (t_plan_name, t_cplan_id, createTime)

values (@planName, @id, dateadd(day, @intCycle, @createTime))

select @intCycle = @intCycle + 1

end

select @id = min(t_cplan_id) from t_cplan where t_cplan_id@id

end

end

go

怎样在pl/sql中创建,执行和删除存储过程

sqlserver存储过程的基本操作:

一、创建存储过程

1、语法格式:

create proc | procedure pro_name

[{@参数数据类型} [=默认值] [output],

{@参数数据类型} [=默认值] [output],

....

]

as

SQL_statements

以上是最基本语法,举个简单的例子:

CREATE proc p_test

as

select retu = 12、执行存储过程

EXECUTE Procedure_name '' --存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value

3、删除存储过程

drop procedure procedure_name --在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程


名称栏目:sqlserver创建存储过程,SQLserver创建存储过程语句
本文来源:http://cdkjz.cn/article/dsihesp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220