在SQL中放置逻辑的优点和缺点?

前端之家收集整理的这篇文章主要介绍了在SQL中放置逻辑的优点和缺点?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在一项新工作中,我刚刚接触了将逻辑放入sql语句的概念.

在@L_502_0@中,一个愚蠢的例子是这样的:

SELECT
    P.LastName,IF(P.LastName='Baldwin','Michael','Bruce') AS FirstName
FROM
    University.PhilosophyProfessors P
// This is like a ternary operator; if the condition is true,it returns 
// the first value; else the second value. So if a professor's last name 
// is 'Baldwin',we will get their first name as "Michael"; otherwise,"Bruce"**

对于一个更现实的例子,也许您正在决定销售人员是否有资格获得奖金.您可以获取各种销售数字并在SQL查询中进行一些计算,并返回true / false作为名为“qualifies”的列值.

以前,我会从查询获取所有销售数据,然后在我的应用程序代码中完成计算.

对我来说,这似乎更好,因为如果有必要,我可以使用调试器逐步完成应用程序逻辑,但无论数据库在做什么,对我来说都是一个黑盒子.但我是初级开发人员,所以我不知道什么是正常的.

数据库服务器执行一些计算/逻辑有什么优缺点?

**基于Monty Python sketch.代码示例

解决方法

这样sql就成为域模型的一部分.这是实现领域知识的另一个(并不一定是显而易见的)地方.这种泄漏会导致业务逻辑/应用程序代码数据库之间更紧密的耦合,这通常是个坏主意.

一个例外是观点,报告查询等.但这些通常是如此孤立,以至于它们扮演的角色显而易见.

猜你在找的MsSQL相关文章