【SQL】MaxComputer中调试SQL小结

1.分段调试

  面对长的SQL,出错时一般直接看定位的行号,有时候不出错但是没数据时,应该尝试分段调试,很长的SQL嵌套很多的子查询时,一个一个子查询进行分别调试,看哪一步子查询出了问题,层层推进

2.日志查看

  通常情况下,日志都是很重要的指示。有时候一些莫名其妙的错误时,错误信息看得懂却始终调不通时,不妨尝试查看运行的日志(例如相关的设置项,系统解析出来运行的SQL等)

原文地址:https://www.cnblogs.com/jiangbei/p/9534590.html

时间: 2024-10-07 15:39:33

【SQL】MaxComputer中调试SQL小结的相关文章

PL/SQL Developer中输入SQL语句时如何自动提示字段

在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心,操作步骤如下:tools–>preferences–>user interface–>code assistant–>在右边选中authomatically activated即可,如 PL/SQL Developer中输入SQL语句时如何自动提示字段,布布扣,bubuko.com

SQL Server2008中通过SQL获取表结构

SQL Server2008中通过SQL获取表结构 新增数据用户,角色为public.映射到待获取表结构的数据库上,授与用户在该数据库上的身份为db_owner 运行例如以下SQL语句: select syscolumns.name as [Name] , systypes.name as [Type], syscolumns.length AS [Size], syscolumns.xprec As [Precision], ISNULL(syscolumns.scale, 0) AS [Sc

SQL Server中执行Sql字符串,返回执行结果

今天遇到一个问题:想把sql字符串在SQL Server 中执行了,并获取执行的结果 DECLARE @tablename NVARCHAR(300); SET @tablename='select @table3 = count(1) from UserVisitLog'; DECLARE @newtablename NVARCHAR(300); exec sp_executesql @tablename, N'@table3 NVARCHAR(300) OUT',@newtablename

SQL Server中参数化SQL写法遇到parameter sniff ,导致不合理执行计划重用的一种解决方案

parameter sniff问题是重用其他参数生成的执行计划,导致当前参数采用该执行计划非最优化的现象.想必熟悉数据的同学都应该知道,产生parameter sniff最典型的问题就是使用了参数化的SQL(或者存储过程中使用了参数化)写法,如果存在数据分布不均匀的情况下,正常情况下生成的执行计划,在传入在分布数据较多的参数的情况下,重用了正常参数生成的执行计划,而这种缓存的执行计划并非适合当前参数的一种情况. 这种情况,在实际业务中,出现的频率还是比较高的,因为存储过程一般都是采用参数化的写法

SQL Server中的SQL语句优化与效率

很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那

PL/SQL开发中动态SQL的使用方法

一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现. 首先我们应该了解什么是动态SQL,在Oracle数据库开发PL/SQL块中我们使用的SQL分为:静态SQL语句和动态SQL语句.所谓静态SQL指在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象.而动态SQL是指在PL/SQL块编译时SQL语句是不确定的,如根

pl/sql developer中写SQL时出现ORA-06550和PLS-00553

[现象]在pl/sql中写SQL时,出现一些问题.ORA-06550:乱码PLS-00553:乱码ORA-06550:乱码PL/SQL:Compilation unit analysis terminated [原因]由于Oracle的系统配置文件中语言发生变化,或者系统配置文件发生变化,pl/sql developer尚未进行更新所致.[本例解决方法]由于在oracle用户下添加配置项,尚未更新到pl/sql developer.执行以下指令su - oraclesource ~/.bash_

SQL server中的SQL语句拼接

sql语句主要操作于有条件的的增加,删除,修改或查询但在有多种可变的查询条件下,SQL语句的长度就不一定了,那就需要我们的SQL语句拼接了.比如:string sqlstr= "SELECT 条件1,条件2,条件3,条件4 FROM 表1 s1 INNER JOIN 表2 where";在程序中进行多表查询的时候由于SQL语句的长度是可变的,我们就需要字符串拼接了. sqlstr += " (S1.S_ID like @query or S1.S_NAME like @que

《专业级Oracle Database 12c安装、配置与维护》之在SQL*Plus中编写PL/SQL

当编写PL/SQL程序时,可以用多种方式来运行.可以直接在SQL*Plus(或某些其他SQL环境,如SQL Developer)中运行,也可以将之存储在数据库中,然后从SQL环境或程序运行.当在数据库中存储程序时,该程序被称为存储程序(stored program)或存储对象(stored object).这在本章稍后讲解.现在,让我们来讨论如何使用SQL*Plus编写程序.虽然是从SQL*Plus的环境内部说明这个例子,但这些程序也可以使用其他的SQL接口,如SQLDeveloper.TOAD