这是我多年来第一次在SQL Server 2008中进行一些T-SQL编程,并忘记了语言的真正含义:
- 流量控制(所有开始/结束的东西)感觉笨重
- 异常处理很差。例外不会像其他语言一样冒泡。除非你自己和他自己编码,否则没有重新投掷 RAISERROR 功能甚至拼写不正确(这让我有些头疼!)
- 字符串处理很差
- 唯一的序列类型是表。我必须编写一个函数来根据分隔符拆分字符串,并且必须将它存储在一个表中,该表中包含字符串部分以及指示序列中位置的值。
- 如果你需要在存储过程中进行查找,那么操作结果是很痛苦的。如果结果包含某种排序列,您可能必须使用游标或使用嵌套查找一起修改while循环
我意识到我可以使用C#编写我的存储过程,但是这需要允许服务器允许CLR功能,这在我的工作场所不是一个选项。
有没有人知道在SQL Server中是否有任何替代T-SQL,或者是否有任何计划引入的东西。当然,必须有一个更现代的替代方案......
PS:这不是为了开始一场火焰战,我真的对选项的兴趣感兴趣。