//stored procedure和function在用途上的区别這個當然有區別﹐存儲過程是可以進行insert,update,delete操作﹐而函數是處理那些存儲過程不好處理的方面﹐兩者互補結合起來﹐更加靈活好用﹗

解决方案 »

  1.   

    使用 SQL Server 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优势有: 允许模块化程序设计。 
    只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。允许更快执行。 
    如果某操作需要大量 Transact-SQL 代码或需重复执行,存储过程将比 Transact-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 Transact-SQL 语句时,都要从客户端重复发送,并且在 SQL Server 每次执行这些语句时,都要对其进行编译和优化。减少网络流量。 
    一个需要数百行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。可作为安全机制使用。 
    即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。SQL Server 存储过程是用 Transact-SQL 语句 CREATE PROCEDURE 创建的,并可用 ALTER PROCEDURE 语句进行修改。存储过程定义包含两个主要组成部分:过程名称及其参数的说明,以及过程的主体(其中包含执行过程操作的 Transact-SQL 语句)。
    存儲過程事務處理﹐而函數沒有這一功能
      

  2.   

    基本上处理事务的时候用存储过程,只是简单的计算获得结果的时候用函数
    另外函数不支持动态sql
    还有一些东西用起来就知道了,比如:
    函数可以select object_name(id) from sysobjects,针对每个结果行使用函数
    如果用存储过程...
      

  3.   


    這個當然有區別﹐存儲過程是可以進行insert,update,delete操作﹐而函數是處理那些存儲過程不好處理的方面﹐兩者互補結合起來﹐更加靈活好用﹗同時二者都可以縮小你寫程序的代碼
      

  4.   

    1、函数里的语法限制较多,如果不能胜任的那就用存储过程
    2、UDF,用起来得加用户名,我不喜欢
    3、一般用来返回结果集(返回客户端查询)的我都用存储过程
    4、如果返回的结果(标量或行集)是用于其他TSQL的,我一般 会用函数
    5、如果感觉无所谓,那就如2
      

  5.   

    hdhai9451(※★開拓者...前進☆※)你回复了一堆什么东西,下次看清题目。