
SQL
海梦思心
基于满头秀发不能尽付代码的考虑,已转身做销售。愿不在江湖,依旧有我的传说 。
展开
-
SQL触发器编写与查看
1.已有数据查看2.编写触发器(以更新表一为条件)go create trigger TG_Insert --创建触发器 on DB_TABLE_20210528 --定位某张表 for UPDATE --表 DB_TABLE_20210528 更新时调用该触发器,即关键字 UPDATE决定,删除为 DELETE,新增则为 INSERT AS BEGIN SET NOCOUNT ON;--ON: 不输出日志 OFF:输出日志 DECLARE @ID INT ,原创 2021-08-31 14:41:41 · 3039 阅读 · 0 评论 -
SQL 存入特殊字符(单引号)
1.单引号 (可以在代码中把单引号替换成两个单引号)原创 2021-08-31 11:19:12 · 1363 阅读 · 0 评论 -
SQL按照字段中某一位置是否包含某一值做查询(substring)
一、问题描述:如图所示,我想查询字段MP_ID内第2个位置是1的所有数据。二、解决方案:--SUBSTRING ( expression ,start , length ) select * from TABLE_NAME where substring(MP_ID,2,1)='1'查询结果如图三、问题解决。...原创 2021-04-12 16:54:41 · 1187 阅读 · 0 评论 -
SQL default 无效/SQL 赋默认值无效
一、问题描述: --1.创建表 create table DBNull( col1 numeric(18,0) not null identity, col2 nvarchar(10) not null , col3 nvarchar(10) null default(1) ) --2.赋值 insert DBNull (col2) values('2333') --3.新增列 alter table DBNull addclo4 char(1)原创 2020-10-13 10:54:05 · 2996 阅读 · 0 评论 -
批处理bat文件连接SQL Server数据库并执行相关sql代码
一、终于赶在八月的尾巴有了写东西的冲动了,恰巧昨天碰到一个问题,需要用bat给别人来执行某些sql语句。二、单一执行2.1:sql代码use [DBName] SELECT top(1)* FROM TbName order by ID desc2.2:bat 执行代码(可将以下代码直接放入bat文件,修改你需要连接的数据库以及sql文件即可)@ECHO OFF SET dbHost= 101.26.11.60SET dbUserID=saSET dbPassword=12原创 2020-08-28 09:46:25 · 4343 阅读 · 0 评论 -
SQL CASE WHEN 条件分支查询
1.核心代码:--已知某张表中有很多托盘,甲方爸爸提出智障要求,托盘编号为‘0002’的显示为2号托盘,‘0004’显示为4号托盘,否则显示为其他托盘。 select TI_TRAY_ID,( case when TI_TRAY_ID='0002' then '2号托盘' when TI_TRAY_ID='0004' then '4号托盘' else '其他托盘' END ) as '托盘号' from TBL_TRAY_INFO --注意!条件相同时,返回第一个原创 2020-07-29 10:38:09 · 676 阅读 · 0 评论 -
SQL 查询每一组最后一条记录并显示在同一表内
**一、问题描述:--1.创建数据表 create table DB_TABLE_NAME ( TN_COLUMN_ID numeric (18, 0) IDENTITY(1,1) NOT NULL, TN_COLUMN_NAME nvarchar(20) not null, TN_COLUMN_ADD_TIME datetime not null )--2.添加数据 添加多次以模拟同一组有多条数据的情况 insert DB_TABLE_NAME values('第一组',(CON原创 2020-07-01 17:34:51 · 1949 阅读 · 0 评论 -
【新】无法使用备份文件,因为原先格式化该文件时所用扇区大小为 512,而目前所在设备的扇区大小为 4096
一、问题描述:如图所示,本来今天高高兴兴像平时一样准备准时下班,毕竟我是一个时间观念很强的人,结果备份数据库的时候出了问题,那叫一个难受,就是下面这个问题。然后我就上网查,大多就是叫你删除,我也删除了,可是还是没解决。二、解决方案:上面提到了,删除文件,其实问题就是删除文件,不过,不是在数据库这里删除,根据提示,在相应文件夹下找到你原先的备份文件,删掉,然后就能生成新的备份文件了。这个问题之所以会出现,是因为你现在的数据库是用了备份文件还原的数据库,然后再自己数据库二次备份,两次数据库不一样,所以当原创 2020-06-10 17:26:02 · 5931 阅读 · 0 评论 -
Microsoft SQL Server 数据复制
--1.只存在一张表时select * into Copy_Table3 from Copy_Table1;--2.存在两张表时--将表Copy_Table1中的数据复制到表Copy_Table2中,可接条件筛选,两张表需要同时存在且字段相同set identity_insert Copy_Table2 oninsert into Copy_Table2(CT_ID,CT_...原创 2020-04-24 17:34:46 · 273 阅读 · 0 评论 -
MS SQL 批量修改字段内部分内容(STUFF)
1.SQL语句--TBL_STUFF为数据表表名select * from TBL_STUFF--S_TEXT为批量修改的字段,1、11为修改的内容范围,从第一个位置到第11个位置,既内容“85vaINQeab4”,‘1’ 为需要替换成的内容select stuff(S_TEXT,1,11,'1') from TBL_STUFF --执行update TBL_STUFF set ...原创 2020-02-28 16:03:17 · 772 阅读 · 0 评论 -
备份集中的数据库备份与现有数据库不同 3154错误
本文转自【https://www.cnblogs.com/worfdream/articles/2174785.html】转载 2019-11-05 20:12:28 · 1472 阅读 · 0 评论 -
insert into 按条件复制同表数据
步骤一、--复制 Table_name1表中 Columns_1='1' 的数据到 Table_name1表中,假如复制的数据条数为10条,复制后生成的主键是11-20Insert into Table_name1(Columns_1,Columns_Name)Select Columns_1,Columns_Name from Table_Name where Columns_1='1'...原创 2019-10-28 17:43:11 · 906 阅读 · 0 评论 -
百万级数据导致查询缓慢的问题解决方式-给SQL 添加索引
--查询语句 SELECT * FROM Table_Name1 left join Table_Name2 on columns_name1=columns_name2 WHERE columns_name1=2906332Table_Name1 、Table_Name2 均为 数据表 ,且数据量都不太小,执行查询特别慢。--给两张表添加索引 Table_Name1 的...原创 2018-12-27 16:08:41 · 2838 阅读 · 0 评论 -
MSSQL 2000 不支持top 解决方法
原文参考:https://stackoverflow.com/questions/6565399/sql-server-2000-getting-top-n-rows原sql语句:select top (1)* from table_name在sql2008上运行并无问题,结果到sql2000上直接报错,提示【"("附近不能带参数】可以更换为一下sqlSET ROWCOUNT 1 se...转载 2019-01-16 19:08:43 · 661 阅读 · 0 评论 -
MS SQL 2000 从安装到使用(附带sql2000下载链接)
原文转自:http://www.anyxz.com/?p=7401.安装2.使用3.还原数据文件出错(System.Data.SqlClient.SqlError: 媒体集有 2 个媒体簇,但只提供了 1 个。必须提供所有成员)原文地址:https://blog.youkuaiyun.com/han_yankun2009/article/details/8589659删除不相干的...转载 2019-01-22 16:48:38 · 386 阅读 · 3 评论 -
MS SQL 2000还原数据报错:无法打开备份设备 设备出现错误或设备脱机
错误详细:解决方法:1.修改文件路径中的文件夹名称,不要出现中文名称2.修改还原文件名称,尽量减少名称长度,或者直接改为你正在还原的数据库名称...原创 2019-01-23 10:10:04 · 1910 阅读 · 0 评论 -
MS SQL断开所有连接
--使用相关数据库use [DB_TEST]--查询正在连接该数据库的使用者SELECT * FROM sys.[sysprocesses] WHERE DB_NAME([dbid])='DB_TEST' --断开所有连接declare @d varchar(8000) set @d= ' ' select @d=@d+ ' kill '+cast(spid...转载 2019-03-19 14:45:39 · 365 阅读 · 0 评论 -
Sql Server 中的“if ... else...” 语句
一.格式if exists(条件判断) {执行语句1} else {执行语句2}二.实例--现有数据表:【Table1】--查询语句: Select1: select cols1 from Table1 where cols1=0--更新语句: Update1: update Table1 set cols1=1 where cols1=0--添加语句: Insert1: ...原创 2019-06-18 14:32:48 · 9326 阅读 · 0 评论 -
SQL语句报异常:在此上下文中不允许使用子查询。只允许使用标量表达式。解决方案。
一、问题描述:在 sql service 2008上执行该语句 运行正常,但是在SQL service 2003 以及之前版本报错,提示不允许使用子查询。insert into db_null (col_name1,col_name2) values('第一条数据',(select max(col_id) +1 from db_null))解释:现有一张数据表 【db_null】,需要往...原创 2019-06-28 17:50:41 · 2548 阅读 · 0 评论 -
SQL count 与 sum区别
老是记不住,这对双胞胎咋长的这么像呢,所以就自己动手建了表,脑子不好使就动手。原创 2018-11-20 10:36:54 · 213 阅读 · 0 评论