• SqlServer 高并发的情况下,如何利用锁保证数据的稳定性

    sql的锁机制,是时刻贯彻在每一次的sql事务中的,为了理解更透彻,介绍锁之前,我们得先了解,锁是为了干什么!! 1、数据库异常情况    1.1 先来聊聊数据可能发生个异常状况    1)脏读:读未提交,顾名思义,读到了不该读的东西,如:         事务B读到了事务A回滚的数据,就是脏读      2)不可重复读:读已提交,同个事务内,多次读取同个数据,却返回不同结果,偏向数据更新    …

    胡同里的砖头2024/6/26【SQLServer】
  • sqlserver 分组查询 ID合并

    在SQL Server中,如果你想要将属于同一组的ID进行合并,你可以使用STRING_AGG函数(SQL Server 2017及以上版本)或者FOR XML PATH方法(旧版本)来实现。以下是使用STRING_AGG函数的示例:新版本:SELECT GroupColumn, STRING_AGG(ID, ',') AS MergedIDsFROM You…

    胡同里的砖头2024/6/26【SQLServer】
  • sqlserver MERGE用法,在查询时根据匹配进行修改,添加和删除数据操作

    merge集插入,更新,删除于一体,如果要对一个表同时进行插入,更新,删除2个或3三个操作。效率要高于单个操作。第一种写法:merge into tableb b --被操作表using (select * from a) a–参照表 支持子查询on a.id=b.id–关联关系when matched --a,b表均匹配到做updatethen update set b.nme= b.nmewh…

    胡同里的砖头2024/6/13【SQLServer】
  • Select查询数据的同时对关联表进行修改数据

    UPDATE s SET s.s_Num = s.s_Num+pp.pp_Num FROM stock s JOIN ProcurePrepare pp ON s.warehouse_Id = pp.warehouse_Id and s.goods_Barcode=pp.goods_Barcode WHERE pp.admin_Login=@admin_Login查询ProcurePrepa…

    胡同里的砖头2024/6/13【SQLServer】
  • 数据库加密

    1,创建测试表CREATE TABLE TBLUser ( Name nvarchar(30), Password varbinary(1000))2, 创建数据库主密码CREATE master key ENCRYPTION BY PASSWORD ='passW@ord'3.创建证书CREATE CERTI…

    胡同里的砖头2024/4/29【SQLServer】
  • 获取每种分类的最后一次的数据集

    如:有个表格(id,machineName,value,updatetime),里面比如有10个机台,里面记录了这10个机台的几十万条数据如何获取每个机台的最后一笔数据?select m.* from machines m inner join (select machineName,max(updatetime) latest from machines group by machineNam…

    胡同里的砖头2024/4/19【SQLServer】
  • SQLServer海量数据库的查询优化及分页算法方案

    在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] ( --TGongwen是红头文件表名 [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表…

    胡同里的砖头2024/3/15【SQLServer】
  • SQLServer计算两条数据的差

    使用了窗口函数 LAG 来获取上一行的余量,通过LAG来访问上一行的数据WITH CTE AS (SELECT物品,余量 - LAG(余量) OVER (PARTITION BY 物品 ORDER BY 更新时间) AS 用量,更新时间FROMyour_table)SELECT物品,SUM(用量) AS 每小时用量,DATE_TRUNC('hour', 更新时间) AS 每小时起始…

    胡同里的砖头2024/3/14【SQLServer】
  • sql server windows NT占用内存超过90%

    先简单说一下SQL server的内存管理机制,SQL Server 数据库的内存使用原则是按需分配,且贪婪(用完不还)。它不会自动释放内存,因此执行结果集大的sql语句时,数据取出后,会一直占用内存,直到占满机器内存(并不会撑满,还是有个最大限制,比机器内存稍小),在重启服务前,sqlserver不会释放该内存,也没有任何办法可人为释放。那怎么解决呢?最直接的办法是:人为修改最大可占用物理内存…

    胡同里的砖头2024/1/3【SQLServer】
  • sqlserver 触发器 监控某一字段update

    CREATE TRIGGER 触发器名称 ON 表名 AFTER UPDATEASif UPDATE(chepaihao)--当chepaihao字段发生改变时BEGIN ................ ................ ................END

    胡同里的砖头2023/12/28【SQLServer】
  • SQLServer 存储过程调用API接口

    --开启Sql Server 通讯配置--sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Ole Automation Procedures', 1;GORECONFIGURE;GOEXEC sp_configure 'Ole Automation Procedure…

    胡同里的砖头2023/12/28【SQLServer】
  • 存储过程OUTPUT的使用

    提示:其中的OUTPUT代表返回值 ,也可用retrun来返回,但是只能返回数字类型ALTER PROC up_addOrEditUser( @Id INT, --定义变量为数字 @Name VARCHAR(20), --定义变量为字符串 @ResultId INT OUTPUT, --定义返回值在变量后面加上OUTPUT @ResultMsg VARCHAR(20) OUTPUT --定义返回…

    胡同里的砖头2023/12/28【SQLServer】
  • SQLServer 使用try,catch来进行事务回滚

    ALTER PROC upTransactionCase ASBEGIN Set NOCOUNT ON; Set XACT_ABORT ON; BEGIN TRY --开始捕捉异常 BEGIN TRAN --开始事务 INSERT INTO Student VALUES('BertXie',100,'数学'); INSERT INTO Stud…

    胡同里的砖头2023/12/28【SQLServer】
  • 创建简单触发哭

    CREATE TRIGGER [dbo].[触发器名称]ON [dbo].[表名]AFTER insertASBEGIN declare @msgId int set @msgId = (select id from inserted) exec 存储过程名称 @msgId --调用存储过程并传参如果传入的参数未变则不会触发 SET NOCOUNT ON;E…

    胡同里的砖头2023/12/28【SQLServer】
  • sqlserver数据库乱码问题的解决

    错误产生的原因: 出现使用SQL语句插入数据出现乱码或问号是由于数据库属性的排序规则设置不正确.解决方法:方法一:手动修改(设置数据库的排序规则)注意事项:要确定修改的数据库没有被使用,否则会失败!具体步骤:选中要修改的数据库-->右键-->属性-->弹出数据库属性对话框-->选项-->把排序规则设置成:Chinese_PRC_90_CI_AS--&gt…

    胡同里的砖头2023/11/29【SQLServer】
  • SQLServer 2008 R2 展开表报错,报:值不能为空

    C:\Users\你的用户名\AppData\Local\Temp\"文件夹建好命名为 2 的文件夹,如果是找不到user这个文件夹,就找到C:\Documents and Settings\Administrator\Local Settings\Temp这个目录,建好2文件夹之后重启数据库即可,如果还不行,就需要重新启动服务器。

    胡同里的砖头2023/9/13【SQLServer】
  • SQL导出数据

    1.在数据库上面右键,任务,生成脚本 2.这里根据自己的需要勾选,因为我只要导出一个表的数据,所以这里我只勾一个表 3.这里自己选择生成的结果保存到哪里,然后点击高级按钮 4.这里根据自己需要选择,我不需要导出表结构,所以这里我选择权限数据 5.然后一直下一步直到安装完成

    胡同里的砖头2023/7/19【SQLServer】
  • sqlserver 事务日志已满 解决方法

    第一步:执行以下SQL语句,将数据库设为简单模式,日志文件会自动断开。 alter database 数据库名称 set recovery simple第二步:执行以下SQL语句,查看日志文件状况。use 数据库名称dbcc shrinkfile('数据库名称_log')第三步:执行以下SQL语句,恢复数据库模式。 alter database 数据库名称 set recovery…

    胡同里的砖头2022/2/24【SQLServer】
  • sqlserver区分大小写查询数据

    通过collate Chinese_PRC_CS_ASselect * from table where name collate Chinese_PRC_CS_AS='LiYuanBa' --精确select * from table where name collate Chinese_PRC_CS_AS like 'LiYuanBa%' --模…

    胡同里的砖头2021/11/30【SQLServer】
  • SQLServer 图书借还为两条数据,查询时需一一匹配对应

    time为借和还的时间,h_person为借阅人当有人借图书的时候,产生一条数据,归还的时候还会产生一条读取数据的时候,需要把借和还这两条数据做匹配,然后计算时差,包括(借阅人,借阅时长,借出时间,归还时间);WITH cte AS (SELECT *, ROW_NUMBER() OVER (PARTITION BY h_person ORDER BY [time]) rn--按h_p…

    胡同里的砖头2021/10/27【SQLServer】
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8