请列出一些SQL新手中的不良做法?
我发现在可以使用set操作解决的场景中使用“WHILE loop”。
另一个例子是仅在数据不存在时插入数据。这可以使用LEFT OUTER JOIN来实现。有些人选择“IF”
还有其他想法吗?
编辑:我正在寻找的是可以使用SQL而不使用过程构造实现的特定方案(如问题中所述)
由于
Lijo
答案 0 :(得分:8)
以下是我见过的一些内容:
答案 1 :(得分:4)
在代码上放置ODBC或动态SQL调用。
通常最好定义一个提供访问的数据抽象层 到数据库。所有SQL代码都可以隐藏在该层中。 这通常可以避免复制类似的查询,并进行更改 数据模型更容易做到。
答案 2 :(得分:2)
我个人:任何不是普通INSERT,UPDATE,DELETE或SELECT语句的东西
我不喜欢SQL中的逻辑。
答案 3 :(得分:1)
我这里最大的牛肉肯定是重复的SQL。例如,多个存储过程执行完全相同的连接但不同的过滤器。
在这种情况下使用视图可以使您的数据库更容易查看和使用
答案 4 :(得分:0)
创建特定于供应商的SQL,当通用SQL可以执行时。
在运行时动态创建表(TEMPORARY表除外)。
让您的应用程序代码具有表创建或超级用户权限。