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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

参考技术A (首先声明一下,我这是从别处抄下来的,虽然我的行为恶劣,不光彩,但是,希望答案对你有所帮助)

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

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

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

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

sql server查看有哪些存储过程和视图的方法

sql server查看有哪些存储过程和视图的方法

 

select * from sys.sysobjects where type=‘p‘  //存储过程

select * from sys.sysobjects where type=‘v‘  //视图

sp_helptext procName //查看存储过程结构

sp_helptext vwName //查看视图结构

以上是关于sql server存储过程的参数都有哪些类型的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Sql server中创建,执行和删除存储过程

SQL Server 存储过程参数 - 不同类型

SQL Server存储过程中使用表值作为输入参数示例

SQL Server中存储过程的创建命令

SQL SERVER 2008 存储过程传表参数

SQL Server 如何执行 带参数的 存储过程