SQL 函数与存储过程

函数(Function):

利用T-SQL创建数据库的语法格式入下:

Create Function 函数名(@parameter 变量类型 [,@parameter 变量类型])

Returns 变量类型 as

Begin

  命令行或程序块

End

create function MyFun1(@x int) 
returns int 
as
begin
  declare @y int
  set @y=@x*@x
  return @y
end


use 进销存系统
select 职工.*,dbo.MyFun1(工资) as 工资的平方 from 职工 

存储过程(store procedure)

存储过程是一组为了完成特定功能的T-SQL语句集合,经编译后存储在SQL Server服务器端数据库中,利用存储过程可以加速SQL语句的执行。

存储过程的优点:

提高应用程序的通用性和可一致性。

可以更有效的管理用户操作数据库的权限。

可以提高T-SQL的速度。

减轻服务器的负担。

利用T-SQL创建存储过程的语法格式如下:

Create Proc 过程名

@parameter 参数类型

....

@parameter 参数类型 output

....

as

begin

命令行

end

create proc Xproc1
@zghao varchar(30),
@ckhao varchar(30),
@sname varchar(50),
@sex varchar(10),
@gz int
as
  begin
  if exists(select * from 职工 where 职工号=@zghao)
     print('该职工已存在,请重新输入职工号!')
  else
      begin
        if exists(select * from 仓库 where 仓库号=@ckhao)
           begin
               insert into 职工(职工号,仓库号,姓名,性别,工资)values(@zghao,@ckhao,@sname,@sex,@gz)
               print '成功的插入一条记录!'
           end
        else
            print'你输入的仓库号不合法,请重新输入仓库号!'
      end
  end



execute Xproc1 'zg4','wh1','zhangpin',''1350
    

区别:

http://www.cnblogs.com/zhycyq/articles/2454758.html

原文地址:https://www.cnblogs.com/YuanSong/p/2717259.html