sql server存储过程的参数有哪些类型

如题所述

SQL Server存储过程是SQL数据库的重要组成部分,其中可以用到许多参数。在SQL Server存储过程中,支持输入(Input)、输出参数(Output),也支持返回值参数(ReturnValue)。

返回值参数不是一个形参,而类似于编程中的返回值类型。它都是通过Return语句来返回的,而且在SQL Server中,必须返回INT型的数据,而且很显然,只能有一个返回值,因为RETURN语句其实是会终止SQL Server存储过程的。

例子:

ALTER PROCEDURE [dbo].[GetCustomers]  
(@rowcount INT OUTPUT)  
AS   
    SELECT [CustomerID]  
      ,[CompanyName]  
      ,[ContactName]  
      ,[ContactTitle]  
      ,[Address]  
      ,[City]  
      ,[Region]  
      ,[PostalCode]  
      ,[Country]  
      ,[Phone]  
      ,[Fax]  
  FROM [Northwind].[dbo].[Customers]  
SET @rowcount=@@rowcount

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-08
(首先声明一下,我这是从别处抄下来的,虽然我的行为恶劣,不光彩,但是,希望答案对你有所帮助)

存储过程是指封装了可重用代码的模块或例程。存储过程可以接受输入参数、向客户端返回表格或标量结果和消息、调用数据定义语言 (DDL) 和数据操作语言 (DML) 语句,然后返回输出参数。在 SQL Server 2005 中,存储过程有两种类型:Transact-SQL 或 CLR。

Transact-SQL
Transact-SQL 存储过程是指保存的 Transact-SQL 语句集合,可以接受和返回用户提供的参数。例如,存储过程中可能包含根据客户端应用程序提供的信息在一个或多个表中插入新行所需的语句。存储过程也可能从数据库向客户端应用程序返回数据。

CLR
CLR 存储过程是指对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用,可以接受和返回用户提供的参数。它们在 .NET Framework 程序集中是作为类的公共静态方法实现的。
第2个回答  2011-03-08
针对 Transact-SQL 过程的准则:
所有 Transact-SQL 数据类型都可以用作参数。
您可以使用用户定义的表类型创建表值参数。
表值参数只能是 INPUT 参数,并且这些参数必须带有 READONLY 关键字。
cursor 数据类型只能是 OUTPUT 参数,并且必须带有 VARYING 关键字。

针对 CLR 过程的准则:
在托管代码中具有等效值的所有本机 SQL Server 数据类型都可以用作参数。有关 CLR 类型与 SQL Server 系统数据类型之间关系的详细信息,请参阅 映射 CLR 参数数据。
表值或 cursor 数据类型不能用作参数。
如果参数的数据类型为 CLR 用户定义类型,则必须对此类型有 EXECUTE 权限。
第3个回答  2011-03-08
int,char,nchar,nvarchar,varchar,text,date,time,datetime,bit,bool……本回答被提问者采纳

sql server存储过程的参数有哪些类型
SQL Server存储过程是SQL数据库的重要组成部分,其中可以用到许多参数。在SQL Server存储过程中,支持输入(Input)、输出参数(Output),也支持返回值参数(ReturnValue)。返回值参数不是一个形参,而类似于编程中的返回值类型。它都是通过Return语句来返回的,而且在SQL Server中,必须返回INT型的数据,而且...

SQL Server 如何执行 带参数的 存储过程
(1)调用通用数据访问类:SqlHelper,执行SqlHelper.ExecuteNonQuery()方法 (2)使用示例:SqlHelper.ExecuteNonQuery(conn,CommandType.StoredProcedure,sqlexec,myparm)(3)其中传递的4个参数如下:“conn”:为链接字符 “CommandType.StoredProcedure”:表示要执行的SQL存储过程类型 “sqlexec”:要执行的SQL...

sql server中怎样创建保存数据的存储过程
CREATE PROC[EDURE] 存储过程名 参数1 数据类型 = 默认值 OUTPUT,…… ,参数n 数据类型 = 默认值 OUTPUT AS SQL语句 GO

SQL server 创建存储过程,要求该存储过程能够实现对输入的两个数相加...
create proc p_sum (@a int,b int,c int output)as set @c=@a+@b --执行 declare @c int exec p_sum 11 ,2 ,@c output print @c 二、create proc p_multiply(@a int=0,@b int=0,@c int output)as begin set @c=@a*@b end --调用 --declare @a int,@b int,@c in...

简答:存储过程的类型以及什么情况下使用什么存储过程。 很急 帮忙_百 ...
一:用户类 用户类又可以分为三类:1带参数的存储过程,2不带参数的存储过程,3还有就是触发器。1:带参数的存储过程中的参数有两种:输入参数和输出参数,如果过程需要传入参数或者说是传入值 的时候就要用到输入参数,如果在执行完一个过程后需要将某个过程中的值抛出去,那么就需要输出out 参数了...

sqlserver2008存储过程的参数有数组类型吗
您好,没有数组类型的.所有的参数类型都是systypes表里面的.

SqlServer中decimal,float 和 real 数据类型的区别
对于 decimal 和 numeric 数据类型,Microsoft® SQL Server™ 将精度和小数位数的每个特定组合看作是不同的数据类型。例如,decimal(5,5) 和 decimal(5,0) 被当作不同的数据类型。(因此在编存储过程当中使用的变量采用Real 或 Float,而不采用decimal类型)在 Transact-SQL 语句中,带有小数...

在SQL中存储过程分为哪五类
1、目录存储过程 例如:sp_columns返回当前环境中可查询的指定表或视图的列信息。sp_tables返回当前环境下可查询的对象的列表(任何可出现在FROM子句中的对象)。2、复制类存储过程 例如:sp_addarticle创建项目并将其添加到发布中。此存储过程在发布服务器的发布数据库上执行。3、安全管理类存储过程 例如...

sql server存储过程中的“N”是什么意思?
N '字符串 \\x0d\\x0a意思是, 后面的内容, 数据类型为 NChar 或者是 NVarchar.\\x0d\\x0a\\x0d\\x0a使用 N 前缀\\x0d\\x0a\\x0d\\x0a在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为 \\x0...

关于sql sever 的系统存储过程
安全管理类存储过程,例如:sp_addrole 在当前数据库创建新的 Microsoft�0�3 SQL Server�6�4 角色。sp_password 添加或更改 Microsoft�0�3 SQL Server�6�4 登录的密码。分布式查询存储过程,例如:sp_foreignkeys 返回引用...

相似回答