SQL Serverは、ストアドプロシージャをして、出力を使用して詳細戻ります

SQL Serverは、今SQLクライアントアクセスライセンス、真ににおけるオペレーティングシステムの優位性のWindowsNTの/ 2000ファミリで実現Microsoftのようなデータベースサービスシステムの導入により、上記データベース管理システムWindowNT、最も重要なオペレーティングシステムの一つとなってきていますデータベース・システムのいずれかの種類せずに、Microsoftのオペレーティングシステムには、ハウスキーピングなど、オラクルのOracleデータベース内のデータベースの世界的リーダー、を含む、彼らと競争することができます。確かに、最大の欠点は、SQL Serverが唯一のMicrosoft自身のオペレーティングシステム上で実行されることであり、これは、SQL Serverの致命的なポイントです。一方、それは、SQL Serverの唯一の「土地」の上に自分自身を促進するための最良のプロモーターが極端にその機能を果たしますとなっているオペレーティング・システムの潜在的なNTファミリーの様々な使用を最大化!重要なSQL Serverデータベースシステム、ストアドプロシージャをされた概念で、ストアドプロシージャの使用の合理化として、効果的にプログラムのパフォーマンスを向上させることができ、およびビジネス・ロジックを大幅に全体のソフトウェアシステムを向上させることができ、データベースシステムのストアドプロシージャをカプセル化されています保守性は、とき変更し、クライアントアプリケーションをコンパイルし、多数のユーザの手にそれらを再配布する必要がなくなり、ビジネス・ロジックの変更は、あなただけで、ストアドプロシージャのサーバー側の実装に対応するビジネス・ロジックを変更する必要がありますことができます。ストアドプロシージャの独自の合理的なニーズを書くには、SQL Serverのリソースを最大限に活用することができます。私たちは、SQL Serverのストアドプロシージャとストアドプロシージャの使用を書くスキル経験の様々なを見てみましょう。
 
入力このパラメータは、ストアドプロシージャへのアプリケーションからの情報を転送するために使用されます。 
このパラメータInputOutputでストアドプロシージャとバックアプリケーションにストレージから情報を送信する処理は、アプリケーションからの情報を転送することができます。 
出力は、このパラメータは、ストアドプロシージャから送り返される情報の用途に使用されます。 
このパラメータは、戻り値戻り値ストアドプロシージャを表します。SQL Serverのストアドプロシージャのパラメータリストは、このパラメータには表示されません。唯一の関連する値でストアドプロシージャでRETURN文。
  主キーは、典型的には、ストアドプロシージャでRETURN文を使用して、新しい値を生成するストアドプロシージャ後のパラメータ値のタイプにアクセスするために使用される値は、戻り値のパラメータで返します。 
 
1、簡単な手順で記憶されている入力パラメータを持ちます
OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
として
NOCOUNTの設定
@name VARCHAR(10)delcare
ベギン
=名前@ユーザーからのunameを選択
終わり
NOCOUNTオフに設定
行きます
ESEC up_user
 
2、簡単な入力パラメータを持つストアドプロシージャ
 OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
@id int型
として
NOCOUNTの設定
@name VARCHAR(10)delcare
ベギン
ユーザーからのuname @名=を選択する場所はuid = @ IDを
終わり
NOCOUNTオフに設定
行きます
- ストアドプロシージャを実行します
ESEC up_user 1
 
3、パラメーター戻るとストアドプロシージャ
 OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
として
NOCOUNTの設定
@age INTをdelcare
ベギン
ユーザーから@年齢= uageを選択
リターン@age
終わり
NOCOUNTオフに設定
行きます
 
- ストアドプロシージャを実行します
@age int型を宣言
EXEC @年齢= up_user
@ageを選択
 
図4は、出力パラメータを持つストアドプロシージャであります
 OBJECT_ID( 'up_user')がnullでない場合
proc up_userをドロップ
行きます
proc up_userを作成
@Id int型、
@name VARCHAR(10)= '' 出力
として
NOCOUNTの設定
ベギン
ユーザーからのuname @名=を選択する場所はuid = @ IDを
終わり
NOCOUNTオフに設定
行きます
 
- ストアドプロシージャを実行します
@name VARCHAR(10)を宣言
EXEC up_user 2、@name出力
@nameを選択
 
図5に示すように、一方の出力パラメータとリターンでストアドプロシージャ
(名前は=「up_user」とタイプ=「P」のsysobjectsから名前を選択する)が存在する場合
proc up_userをドロップ
行きます
proc up_userを作成
@Id int型、
@nameのVARCHAR(20)出力
として
@age int型を宣言
ベギン
stuinfoから@年齢= stuage、名前@ = stunameを選択する場所はuid = @ IDを
リターン@age
終わり
 
- ストアドプロシージャを実行します
@age int型を宣言
@name VARCHAR(20)を宣言
exec @age=up_user 2,@name output
select @age,@name
 
附:SQL Server 系统全局变量
@@CONNECTIONS 
返回自上次启动以来连接或试图连接的次数。
@@CURSOR_ROWS 
返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)
@@DATEFIRST 
返回每周第一天的数字
@@ERROR 
返回最后执行的SQL 语句的错误代码。
@@FETCH_STATUS 
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
@@IDENTITY 
返回最后插入的标识值
@@LANGID 
返回当前所使用语言的本地语言标识符(ID)。
@@LANGUAGE 
返回当前使用的语言名。
@@LOCK_TIMEOUT 
返回当前会话的当前锁超时设置,单位为毫秒。
@@PROCID 
返回当前过程的存储过程标识符 (ID) 。
@@ROWCOUNT 
返回受上一语句影响的行数。
@@SERVERNAME 
返回运行 的本地服务器名称。
@@SPID 
返回当前用户进程的服务器进程标识符 (ID)。
@@TRANCOUNT 
返回当前连接的活动事务数。
@@VERSION 
返回当前安装的日期、版本和处理器类型。
@@CPU_BUSY
返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒
@@DATEFIRST
返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几
@@DBTS
返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的
@@ERROR
返回执行Transact-SQL 语句的错误代码
@@FETCH_STATUS
返回上一次FETCH 语句的状态值
@@IDLE
返回自SQL Server 最近一次启动以来CPU 处于空闭状态的时间长短单位为毫秒
@@IO_BUSY
返回自SQL Server 最近一次启动以来CPU 执行输入输出操作所花费的时间其单位为毫秒
@@LANGID
返回当前所使用的语言ID 值
@@LANGUAGE
返回当前使用的语言名称
@@LOCK_TIMEOUT
返回当前会话等待锁的时间长短其单位为毫秒
@@MAX_CONNECTIONS
返回允许连接到SQL Server 的最大连接数目
@@MAX_PRECISION
返回decimal 和numeric 数据类型的精确度
@@NESTLEVEL
返回当前执行的存储过程的嵌套级数初始值为0
@@OPTIONS
返回当前SET 选项的信息
@@PACK_RECEIVED
返回SQL Server 通过网络读取的输入包的数目
@@PACK_SENT
返回SQL Server 写给网络的输出包的数目
@@PACKET_ERRORS
返回网络包的错误数目
@@PROCID
返回当前存储过程的ID 值
@@REMSERVER
返回远程SQL Server 数据库服务器的名称
@@SERVICENAME
返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent
@@SPID
返回当前用户处理的服务器处理ID 值
@@TEXTSIZE
返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节
@@TIMETICKS
返回每一时钟的微秒数
@@TOTAL_ERRORS
返回磁盘读写错误数目
@@TOTAL_READ
返回磁盘读操作的数目
@@TOTAL_WRITE
返回磁盘写操作的数目
@@TRANCOUNT
返回当前连接中处于激活状态的事务数目

おすすめ

転載: www.cnblogs.com/baili-luoyun/p/11113232.html