博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PL/SQL与T-SQL比较(一) -- 用户自定义函数
阅读量:6293 次
发布时间:2019-06-22

本文共 1073 字,大约阅读时间需要 3 分钟。

场景一:

  创建一个返回"Hello World!"字符串的函数。

 

PL/SQL:

create or replace function get_hello_msg

return varchar2 as
begin
 return 'Hello World!';
end get_hello_msg;

/

 

执行:

select get_hello_msg msg from dual;

 

T-SQL:

create function dbo.fnGetHelloMsg()

returns varchar(50)
as
begin
 return 'Hello World!'
end
go

 

执行:

select dbo.fnGetHelloMsg() msg

 

看以看出:

T-SQL中的函数必须要有括号,不然会报错。

 

场景二:

  计算工资所得税(带有参数)

 

PL/SQL:

create or replace function get_tax(p_salary number)

return number as
begin
 declare tax_salary number;
 begin
  tax_salary := p_salary - 2000;
  
  if tax_salary<=0 then
   return 0;
  end if;
  
  if tax_salary<=500 then
   return tax_salary*5/100;
  end if;
  
  if tax_salary<=2000 then
   return tax_salary*10/100 - 25;
  end if;
  
  if tax_salary<=5000 then
   return tax_salary*15/100 - 125;
  end if;
  
  if tax_salary<=20000 then
   return tax_salary*20/100 - 375;
  end if;
  
  if tax_salary<=40000 then
   return tax_salary*25/100 - 1375;
  end if;
  
  if tax_salary<=60000 then
   return tax_salary*30/100 - 3375;
  end if;
 end;
end get_tax;

 

执行:

select get_tax(6000) tax

from dual;

 

转载于:https://www.cnblogs.com/davidgu/archive/2011/08/20/2147356.html

你可能感兴趣的文章
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
我爸和在我们小区里的一位老大爷
查看>>
jQuery使用经验建议
查看>>
程序猿小白应该注意什么
查看>>
Android多线程之ArrayBlockingQueue源码解析
查看>>
分享Hadoop处理大数据工具及优势
查看>>
在Go中构建区块链 第7部分:网络
查看>>