首页 > 资讯列表 >  本页面生成T-SQL专题报道,T-SQL滚动新闻,T-SQL业界评论等相关报道!
  • 真正高效的SQLSERVER分页查询(多种方案)

    真正高效的SQLSERVER分页查询(多种方案)

    Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2第一种方案、最简单、普通的方法:复制代码代码如下:SELECTTOP30*FROMARTICLEWHEREIDNOTIN(SELECTTOP45000IDFROMARTICLEORDERBYYEARDESC,IDDESC)ORDERBYYEARDESC,IDDESC平均查询100次所需时间:45s第二种方案:复制代码代码如下:SELECT*FROM(  SELECTTOP30*FROM(SELECTTOP45030*FROMARTICLEORDERBYYEARDESC,IDDESC)fORDERBYf.YEARASC,f.IDDESC)sORDERBYs.YEARDESC,s.IDDESC平均查询100次所需时间:138S第三种方案:复制代码代码如下:SE...

    数据库操作教程 2022-09-23 17:13:43
  • 如何将sql执行的错误消息记录到本地文件中实现过程

    如何将sql执行的错误消息记录到本地文件中实现过程

    其实大家都知道sql语句的错误信息都可以在sys.messages表里面找到如:如果在执行语句在try...catch中我们可以通过以下方法获取错误信息。sql语句如下:复制代码代码如下:BEGINTRYSELECT3/0ENDTRYBEGINCATCHDECLARE@errornumberINTDECLARE@errorseverityINTDECLARE@errorstateINTDECLARE@errormessageNVARCHAR(4000)SELECT@errornumber=ERROR_NUMBER(),@errorseverity=ERROR_SEVERITY(),@errorstate=ERROR_STATE(),@errormessage=ERROR_MESSAGE()SELECT@errornumber,@errorseverity,@errorstate,@errormessageRAISERROR(@errormessage,--Messagetext,@errorseverity,--Severity,@errorstate,--State,@errornu...

    数据库操作教程 2022-09-23 17:13:40
  • SqlServer参数化查询之wherein和like实现之xml和DataTable传参介绍

    SqlServer参数化查询之wherein和like实现之xml和DataTable传参介绍

    方案5使用xml参数对sqlserverxml类型参数不熟悉的童鞋需要先了解下XQuery概念,这里简单提下XQuery是用来从XML文档查找和提取元素及属性的语言,简单说就是用于查询xml的语言说到这就会牵着到XPath,其实XPath是XQuery的一个子集,XQuery1.0和XPath2.0共享相同的数据模型,并支持相同的函数和运算符,XPath的方法均适用于XQuery,假如您已经学习了XPath,那么学习XQuery也不会有问题。详见https://www.jb51.net/w3school/xquery/xquery_intro.htmXQuery概念了解后需要进一步了解下SqlServer对xml的支持函数,主要为query()、nodes()、exist()、value()、modify() ,详见http://msdn.microsoft.com/zh-cn/library/ms190798.aspx使用xml方式实现wherein时有两种实现方式,使用value和exist,在这里推荐使用exist方法,msdn是这样描述的:D.使用exist()方法而...

    数据库操作教程 2022-09-23 17:13:30
  • 50个常用sql语句网上流行的学生选课表的例子

    50个常用sql语句网上流行的学生选课表的例子

    50个常用sql语句Student(S#,Sname,Sage,Ssex)学生表Course(C#,Cname,T#)课程表SC(S#,C#,score)成绩表Teacher(T#,Tname)教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;selecta.S#from(selects#,scorefromSCwhereC#='001')a,(selects#,scorefromSCwhereC#='002')bwherea.score>b.scoreanda.s#=b.s#;2、查询平均成绩大于60分的同学的学号和平均成绩;selectS#,avg(score)fromscgroupbyS#havingavg(score)>60;3、查询所有同学的学号、姓名、选课数、总成绩;selectStudent.S#,Student.Sname,count(SC.C#),sum(score)fromStudentleftOuterjoinSConStudent.S#=SC.S#groupbyStudent.S#,Sname4、查询姓“李”的老师的个数;se...

    数据库操作教程 2022-09-23 17:13:21
  • PL/SQLDEVELOPER使用的一些技巧

    PL/SQLDEVELOPER使用的一些技巧

    1,登录后默认自动选中MyObjects默认情况下,PLSQLDeveloper登录后,Brower里会选择Allobjects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择MyObjects后响应速率则是以毫秒计算的。Tools菜单-->ObjectBrowerFilters,会打开BrowerFolders的定单窗口,把“MyObjects”设为默认即可...

    数据库操作教程 2022-09-23 17:13:11
  • 通过sql存储过程发送邮件的方法

    通过sql存储过程发送邮件的方法

    SQLServer怎样配置发送电子邮件通常大家都知道:SQLServer与MicrosoftExchangeServer集成性很好,关于这方面的配置,在SQLServer的联机帮助里有详细的说明,在此不再赘述。然而我们更关心的问题是:在没有ExchangeServer的情况下,如何配置SQLServer利用Internet邮件服务器发送邮件?   笔者曾为这问题伤透了脑筋,搜遍了互联网上的相关资料,发现仅有的几篇资料中有的是一笔带过,有的虽然介绍了操作步骤,可按照步骤一步一步操作下来,结果总是失败...

    数据库操作教程 2022-09-23 17:10:42
  • 关于SQL存储过程入门基础(流程控制)

    关于SQL存储过程入门基础(流程控制)

    这里我们讲一下存储过程的流程控制,ifelse,case,while,这里没有for循环的,这些跟c,c++,c#等语言都差不过的。一,首先来看if else使用复制代码代码如下:if条件beginsql语句endelsebeginsql语句end看个简单例子复制代码代码如下:declare@idint          --声明个变量set@id=5                --设置厨初始值if(@id=1)   begin       print'right'   endelseif(@id=0)   begin   &nb...

    数据库操作教程 2022-09-23 17:10:40
  • Sql学习第一天——SQL将变量定义为Table类型(虚拟表)

    Sql学习第一天——SQL将变量定义为Table类型(虚拟表)

    SQL将变量定义为Table类型在平时定义sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar,int........,那如何让变量作为一个像虚拟表一样呢,其实很简单。基本语法:复制代码代码如下: declare@ttable(列名1列的数据类型1,列名2列的数据类型2,...............) insertinto@t(列名1,列名2,...............)values(...............)[code]或者[code] insertinto@t(列名1,列名2,...............)(select....from....)实验用表一(PeopleInfo):  id    name  phone  XC1   李某   123333333  XC2   小小   785555555例如: 复制代码代码如下: declare@ttable(idnvarchar(3),[name]nvarchar(10))insertinto@t(id,[name])(selectid,[name]fromPeopleInfowher...

    数据库操作教程 2022-09-23 17:10:36
  • SQLServer复制需要有实际的服务器名称才能连接到服务器

    SQLServer复制需要有实际的服务器名称才能连接到服务器

    今天在做sqlServer2005的实验的时候碰到的问题,问题描述很清楚,怀疑是我以前给计算机修改了名称而导致的.可以用select@@servername和selectserverproperty('servername')对照一下,两个的结果是否一样,不一样就会出现问题,以下给出解决的SQL脚本复制代码代码如下:ifserverproperty('servername')<>@@servernamebegindeclare@serversysnameset@server=@@servernameexecsp_dropserver@server=@serverset@server=cast(serverproperty('servername')assysname)execsp_addserver@server=@server,@local='LOCAL'end执行之后,重新sql即可解决这个问题...

    数据库操作教程 2022-09-23 17:10:31
  • sqlserverbcp(数据导入导出工具)一般用法与命令详解

    sqlserverbcp(数据导入导出工具)一般用法与命令详解

    bcp是SQLServer中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECTFROM语句对表或视图进行过滤后导出...

    数据库操作教程 2022-09-23 17:10:27
  • T-SQL问题解决集锦数据加解密全集

    T-SQL问题解决集锦数据加解密全集

    以下代码已经在SQLServer2008上的示例数据库测试通过问题一:如何为数据进行加密与解密,避免使用者窃取机密数据?对于一些敏感数据,如密码、卡号,一般不能使用正常数值来存储。否则会有安全隐患...

    数据库操作教程 2022-09-23 17:10:23
  • sqlserver主键设计的注意点

    sqlserver主键设计的注意点

    在设计主键的时候往往需要考虑以下几点:1.无意义性:此处无意义是从用户的角度来定义的。这种无意义在一定程度上也会减少数据库的信息冗余...

    数据库操作教程 2022-09-23 17:10:16

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持