首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分解SQL脚本

分解SQL脚本
EN

Stack Overflow用户
提问于 2009-06-02 20:47:38
回答 6查看 1K关注 0票数 4

我正在写一个相当长的SQL脚本,它运行了近2000行代码。由于很难理解一个很长的脚本,所以我想把它分成几个逻辑单元,并在其他SQL文件中将它们分开。

做这件事的最好方法是什么?每个逻辑单元都需要是一个存储过程吗?也许是UDF?

EN

回答 6

Stack Overflow用户

发布于 2009-06-02 20:51:04

利用存储过程和函数。如果您使用的是纯SQL,那么没有比这更适合放置代码逻辑单元的地方了。此外,它还使维护/编辑代码变得更加容易。

也就是说,如果你的脚本那么长,你可能想看看你在做什么,并考虑另一种脚本语言,甚至是C#/LINQ。有时将所有内容都放在SQL中是有意义的,有时您会将某些内容强制放入SQL中,但只有您才能做出决定。

此外,C#或其他脚本语言很容易与源代码控制集成。只是一些需要思考的事情!

票数 3
EN

Stack Overflow用户

发布于 2009-06-02 20:53:26

首先,在一个文件中包含2000行SQL并不是一个过多的量(对于一个不太大的数据库,DDL通常会运行这个或更多行)。然而,在一个单独的过程中拥有太多了!解决这一问题的方法确实是将逻辑组件分解为单独的过程。除非您有特定的瓶颈需要克服,或者在SQL中不易完成的操作,否则您将不需要UDF。

最后一条建议:考虑通过视图简化数据访问。

顺便说一句:你想用这么大的进程来完成什么?我使用T-SQL做了大量的工作,我从来没有接近过2000行代码!

票数 0
EN

Stack Overflow用户

发布于 2009-06-02 20:53:45

如果您使用UDF,请确保您了解标量和内联UDF之间的区别:

http://sqlblog.com/blogs/alexander_kuznetsov/archive/2008/05/23/reuse-your-code-with-cross-apply.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/941830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档