sqlserver中存储过程和函数之间的区别 [英] difference between stored procedure and function in sqlserver

查看:261
本文介绍了sqlserver中存储过程和函数之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨。



我想知道存储过程和放大器之间的区别。在SqlServer中有什么功能?

和每个用在哪里?



例如我刚刚写了一个存储过程,我已经完成了它用返回@@ Identity 所以我们可以说这是一个功能,因为这会返回一个值吗?

这些问题让我心烦意乱。

解决方案

功能

------- ---

1)可以与Select语句一起使用

2)不返回输出参数但返回表变量

3)你可以加入UDF

4)不能用于更改服务器配置

5)不能与XML FOR子句一起使用

6)函数内不能有事务



存储过程

-----------------

1)必须使用EXEC或EXECUTE

2)返回输出参数

3)可以创建表但不会返回表变量

4)你不能加入SP

5)可以用来改变服务器配置

6)可以用于XML FOR子句

7 )可以在SP内进行交易



Regard

Sham

:)


hi
尝试这个......



存储过程和功能之间的差异 [< a href =http://www.codeproject.com/Tips/286539/Difference-between-stored-procedure-and-functiontarget =_ blanktitle =New Window> ^ ] br />


http:/ /www.c-sharpcorner.com/UploadFile/skumaar_mca/differences-between-procedures-and-functions/ [ ^ ]


感谢您提出的问题,我也怀疑这个问题朋友。

我用Google搜索了我们的疑问并带来了答案。



这些是存储过程和函数之间的区别。



存储过程Vs 。 sql server中的函数

过程可以返回零或n值,而函数可以返回一个必需的值。

程序可以有输入/输出参数,而函数只能有输入参数。

程序允许选择和DML语句,而函数只允许在其中选择语句。

可以从过程调用函数,但不能从函数调用过程。

异常可以通过程序中的try-catch块来处理,而try-catch块不能在函数中使用。

我们可以在程序中进行事务管理而我们无法继续使用。

程序不能在select语句中使用,而函数可以嵌入select语句中。

UDF可以在WHERE / HAVING / SELECT部分​​的任何地方的SQL语句中使用,其中存储为Pro cedures不能。

返回表的UDF可以视为另一个行集。这可以在与其他表的JOIN中使用。

内联UDF可以作为带参数的视图,可以在JOIN和其他Rowsetoperations中使用。

我希望这清除了我的朋友的怀疑。


Hi.

i wanted to know what is difference between Stored procedure & function in SqlServer ?
and where each one is used in ?

for example i have just written a stored procedure and i have finished it with return @@Identity so can we say is this a fucntion because this will return a value ?
these sort of problems has made me distracted.

解决方案

Functions
----------
1) can be used with Select statement
2) Not returning output parameter but returns Table variables
3) You can join UDF
4) Cannot be used to change server configuration
5) Cannot be used with XML FOR clause
6) Cannot have transaction within function

Stored Procedure
-----------------
1) have to use EXEC or EXECUTE
2) return output parameter
3) can create table but won't return Table Variables
4) you can not join SP
5) can be used to change server configuration
6) can be used with XML FOR Clause
7) can have transaction within SP

Regard
Sham
:)


hi Try this one......

Differences between Stored Procedures and Functions[^]

http://www.c-sharpcorner.com/UploadFile/skumaar_mca/differences-between-procedures-and-functions/[^]


Thanks for the question,I too have this doubt my pal.
I googled our doubt and came here with an answer.

These are the difference between Store procedure and Function.

Store Procedure Vs. Function in sql server

Procedure can return zero or n values whereas function can return one value which is mandatory.
Procedures can have input/output parameters for it whereas functions can have only input parameters.
Procedure allows select as well as DML statement in it whereas function allows only select statement in it.
Functions can be called from procedure whereas procedures cannot be called from function.
Exception can be handled by try-catch block in a procedure whereas try-catch block cannot be used in a function.
We can go for transaction management in procedure whereas we can't go in function.
Procedures can not be utilized in a select statement whereas function can be embedded in a select statement.
UDF can be used in the SQL statements anywhere in the WHERE/HAVING/SELECT section where as Stored procedures cannot be.
UDFs that return tables can be treated as another rowset. This can be used in JOINs with other tables.
Inline UDF's can be though of as views that take parameters and can be used in JOINs and other Rowsetoperations.

I hope this clears our doubt my pal.


这篇关于sqlserver中存储过程和函数之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆