-
使用SQL Server 获取插入记录后的ID(自动编号)
所属栏目:[MsSql教程] 日期:2020-12-12 热度:159
最近在开发项目的过程中遇到一个问题,就是在插入一条记录的后要立即获取所在数据库中ID,而该ID是自增的,怎么做? 要获取此ID,最简单的方法就是在查询之后select @@indentity --SQL语句创建数据库和表 代码如下:create database dbdemo go use dbdemo go c[详细]
-
解析sql中得到刚刚插入的数据的id
所属栏目:[MsSql教程] 日期:2020-12-12 热度:178
LAST_INSERT_ID: LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。 在多用户交替插入数据的情况下max(id)显然不能用。这就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基于Connection的,只要每个线程都使[详细]
-
解析关于SQL语句Count的一点细节
所属栏目:[MsSql教程] 日期:2020-12-12 热度:196
count语句支持 、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。 SPAN style="COLOR: #000000" div class="code[详细]
-
解析SQLServer2005的Top功能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:96
所有人都知道select top 的用法,但很多人还不知道update top 和 delete top 怎么用。以往的做法是set rowcount来指定,其实SQL2005中对于Top语句的增强除了参数化之外还包括对update和delete的支持,但可惜的是还不支持自定义的order by列。如果要自定义派[详细]
-
解析SQLServer获取Excel中所有Sheet的方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:73
E盘根目录新建一个Excel文件aa.xls后测试如下代码 div class="codetitle" a style="CURSOR: pointer" data="14410" class="copybut" id="copybut14410" onclick="doCopy('code14410')" 代码如下:div class="codebody" id="code14410" use tempdb go if (obje[详细]
-
浅析被遗忘的SQLServer比较运算符修饰词
所属栏目:[MsSql教程] 日期:2020-12-12 热度:172
SQLServer中有三个关键字可以修改比较运算符:All、Any和Some,其中Some和Any等价。 官方的参考文档 http://technet.microsoft.com/zh-cn/library/ms187074%28SQL.90%29.aspx 他们作用于比较运算符和子查询之间,作用类似Exists、not exists、in、not in以及[详细]
-
浅析SQLServer中的Scanf与Printf
所属栏目:[MsSql教程] 日期:2020-12-12 热度:63
SQLServer中有两个扩展存储过程实现Scanf和Printf功能,恰当的使用它们可以在提取和拼接字符串时大幅度简化SQL代码。1、xp_sscanf,用它可以分解格式相对固定的字符串,这对于厌倦使用一堆substring和charindex的朋友来说不错。比如前几天的一个帖子中提出的[详细]
-
解析SQLServer任意列之间的聚合
所属栏目:[MsSql教程] 日期:2020-12-12 热度:79
sql的max之类的聚合函数只能针对同一列的n行运算,如果对n列运算,一般都用case 语句来判断,如果列少还比较容易写,列多了就麻烦了。 -------------------------------------------------------------------------------- / 测试名称:利用 XML 求任意列之[详细]
-
解析:清除SQL被注入恶意病毒代码的语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:59
在SQL查询分析器执行以下代码就可以了。 div class="codetitle" a style="CURSOR: pointer" data="44004" class="copybut" id="copybut44004" onclick="doCopy('code44004')" 代码如下:div class="codebody" id="code44004" declare @t varchar(255),@c varc[详细]
-
在SQL Server的try...catch语句中获取错误消息代码的的语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:55
div class="codetitle" a style="CURSOR: pointer" data="19102" class="copybut" id="copybut19102" onclick="doCopy('code19102')" 代码如下:div class="codebody" id="code19102" BEGIN TRY ... ... END TRY BEGIN CATCH DECLARE @ErrorMessage NVARCHAR([详细]
-
SQLServer导出数据到MySQL实例介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:156
1从SQLServer导出数据 执行BCP: bcp "..." queryout "F:test.txt" -c –S1.2.3.4 -Usa -P1111 命令参数含义: (1) 导入。 这个动作使用in命令完成,后面跟需要导入的文件名。 (2) 导出。 这个动作使用out命令完成,后面跟需要导出的文件名。 (3) 使用SQL语[详细]
-
SQL分组排序去重复的小实例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:104
div class="codetitle" a style="CURSOR: pointer" data="40679" class="copybut" id="copybut40679" onclick="doCopy('code40679')" 代码如下:div class="codebody" id="code40679" SELECT * FROM ( SELECT userid, classid, remark, ROW_NUMBER () OVER ([详细]
-
MSSQL数据库占用内存过大造成服务器死机问题的解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:138
使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或MSSQL来释放内存,有人认为是MSSQL有内存泄露问题,其实不然,微软给我们了明确说明:[详细]
-
SQL Server 查询处理中的各个阶段(SQL执行顺序)示例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:177
在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部[详细]
-
一个完整的SQL SERVER数据库全文索引的示例介绍
所属栏目:[MsSql教程] 日期:2020-12-12 热度:133
首先,介绍利用系统存储过程创建全文索引的具体步骤: 1 ) 启动数据库的全文处理功能 (sp_fulltext_database) 2 ) 建立全文目录 (sp_fulltext_catalog) 3 ) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4 ) 指出表中需要全文索引的列名 (sp_fullt[详细]
-
关于数据库优化问题收集汇总
所属栏目:[MsSql教程] 日期:2020-12-12 热度:124
人 们 在使用 SQL 时 往往会陷入一个 误 区,即太 关 注于所得的 结 果是否正确,而忽略了不同的 实现 方法之 间 可能存在的性能差异, 这种 性能差异在大型的或是 复杂 的数据 库环 境中(如 联 机事 务处 理 OLTP 或决策支持系 统 DSS )中表 现 得尤 为[详细]
-
SQL_Server全文索引的用法解析
所属栏目:[MsSql教程] 日期:2020-12-12 热度:135
代码如下: --1、为数据库启用SQL Server全文索引 EXEC sp_fulltext_database 'enable' --2、创建全文目录 --(此处若出错“未安装全文搜索或无法加载某一全文组件”,则可能是未启动或未安装此服务) EXEC sp_fulltext_catalog 'Ask91Fable','create','D:Data[详细]
-
SQL_Server全文索引的使用实例演示
所属栏目:[MsSql教程] 日期:2020-12-12 热度:169
本文示范完整的SQL SERVER数据库全文索引以pubs数据库为例 1) 启动数据库的全文处理功能 (sp_fulltext_database) 2) 建立全文目录 (sp_fulltext_catalog) 3) 在全文目录中注册需要全文索引的表 (sp_fulltext_table) 4) 指出表中需要全文索引的列名 (sp_fullt[详细]
-
SQLSERVER数据库备份后无法还原的解决办法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:180
有时候完全备份,当还原的时候说不时数据库文件不让还原,解决办法: 可以直接复制数据库文件,xxx.mdf 和 xxx.ldf (实际复制过程中需要先停止sqlserver服务才可以)用 sp_attach_db 存储过程 就能搞定. 示例 下面的示例将 pubs 中的两个文件附加到当前服务器。[详细]
-
sqlserver 存储过程中If Else的用法实例
所属栏目:[MsSql教程] 日期:2020-12-12 热度:110
现在要通过编程向B表中插入数据,可是在程序中是不允许给Int类型赋空值的如果不赋值就默认为0。 为了解决这个问题,用到了存储过程的If Else,下面是完整的存储过程。 代码示例: 代码如下:create PROCEDURE [dbo].[P_Form_Control_Info_Add] @TypeName varch[详细]
-
安装MSDE2000提示为了安全起见,要求使用强 SA 密码的解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:185
今天下载了一个msde2000A,本想按照平时的安装习惯,找到了setup.exe安装程序,错误提示弹出一个对话框:“为了安全起见,要求使用强 SA 密码。请使用SAPWD开关提供同一密码。有关详细信息,请参阅自述文件。安装程序将立即退出." 郁闷。 看文档还不如百度下[详细]
-
sqlSQL数据库怎么批量为存储过程/函数授权呢?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
在工作当中遇到一个类似这样的问题:要对数据库账户的权限进行清理、设置,其中有一个用户Test,只能拥有数据库MyAssistant的DML(更新、插入、删除等)操作权限,另外拥有执行数据库存储过程、函数的权限,但是不能进行DDL操作(包括新建、修改表、存储过程等[详细]
-
SQL SERVER中各类触发器的完整语法及参数说明
所属栏目:[MsSql教程] 日期:2020-12-12 热度:143
语法: Trigger on an INSERT,UPDATE,or DELETE statement to a table or view (DML Trigger) CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH [ , ...n ] ]{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [[详细]
-
MSSQL中删除用户时数据库主体在该数据库存中拥有架构 无法删除的
所属栏目:[MsSql教程] 日期:2020-12-12 热度:160
在ms sql2005 下面删除一个数据库的用户的时候提示 " 数据库主体在该数据库中拥有架构,无法删除 " 的错误解决方案 1、在 安全性 -> 架构 下面看有没有该用户存在,如果有就删除 再试试在用户下面看能不能把该用户删掉,如果不行就用下面的文法 运行下SQL语[详细]
-
sqlServer 数据库语法大全
所属栏目:[MsSql教程] 日期:2020-12-12 热度:144
P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 25px; TEXT-INDENT: 2em; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 10px" --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中[详细]