假设:假设您正在向数据库编写复杂的查询,并且您提取的数据是正确的结果集非常重要(例如,您没有使用所有正确的密钥来解决JOIN问题,以及所有其他可能出错的事情,等等。
你宁愿用它做什么?您是使用Microsoft Access及其设计视图编写查询,还是使用SQL IDE在本机SQL中编写查询?什么是更好的职业选择?
编辑:换句话说,您使用什么样的客户端环境来生成SQL查询?支持本机SQL编程的环境,或者支持类似Microsoft Access或Crystal Reports的图形设计视图的环境?
提前感谢您的反馈!
答案 0 :(得分:5)
我个人开始使用Access查询编辑器来进行查询,但最重要的是我开始查看它生成的SQL。当我开始进行一些新的查询时,我在原始SQL中编写它们,并根据使用查询编辑器进行的相同查询检查我的结果。我现在在SSMS IDE中写了很多“手工”编写所有SQL编码。
这是正常的学习曲线,
太多人只是坚持第一步,这是好的,但有点阻止你的成长,一旦视觉设计师的安全毯消失,它可能是一种文化冲击!
答案 1 :(得分:3)
Access Query Builder Thing只会以自己的语法编写SQL(其中,BTW,它有两种:ANSI-89查询模式语法和ANSI-92查询模式语法),而不是目标数据源的语法。例如,如果SQL Server是您的“后端”而Access是您的“客户端”,则Access无法编写TSQL SQL Server语法。
即使定位Access自己的数据引擎,我也发现Access Query Builder Thing毫无希望。即使您忽略“设计视图”(它只能处理最基本的语法)并直接在其“SQL视图”窗口中键入SQL,系统也会经常更改它,在此过程中引入语法错误。如果你真的必须使用Access数据库引擎(ACE,Jet,等等),那么我建议使用SQL DDL创建VIEW
和PROCEDURE
(以及表和它们的约束)。
答案 2 :(得分:1)
如果有问题的DBMS是Microsoft SQL Server,请使用Management Studio。它具有许多您在Access中找不到的生产力功能。
答案 3 :(得分:1)
对我而言,问题的答案取决于您要执行SQL的位置。如果您在Access中执行它,则将其写入Access。如果您在SQL Server中执行它,请将其写入最简单的工具(并使用SQL Server的方言创建SQL)。
我不同意对Access查询设计器的批评。我认为手动编写SQL并冒险犯错是疯狂的,然后无论如何都要通过Access“整理”它。 Access处理您的文字SQL有很好的理由 - 这是为了确保它采用Jet / ACE查询优化器可以正确评估的形式,以便生成最有效的执行计划。为什么有人想要跳过那些让我完全神秘化的好处。
我仍然一直使用查询设计器,而且我已经这样做了超过16年。当然,我经常只使用它来启动我的SQL,然后在代码中操作结果,但这样做要比尝试编写复杂的JOIN或通过输入所有内容来正确限定所有内容要容易得多。
我认为那些对它充满敌意的人有一个自我的问题 - 他们就像老人们说的那样,在我的日子里,我们不得不赤脚走路上学,两边都是上坡,他们喜欢它那样。
就个人而言,我很高兴鞋子和乘坐公共汽车,并且会使用两者,除非他们妨碍特定任务。
答案 4 :(得分:0)
设计/编写查询可以在任一工具中完成。重点是数据存储。 MS Access不是真正的数据库引擎。尝试取消Access作为数据库。
作为一名专业人士,我将始终选择SQL Server over Access。如果我没有完整的SQL Server,那么我将尝试使用“带有高级服务的SQL Server 2008 Express”。
答案 5 :(得分:0)
我认为您不明白 - SQL Server Management Studio具有更好设计能力而不是MS Access。
您只想要按设计查询?
您可以突出显示 ANY SQL语句并右键单击“编辑器中的设计查询”