随笔分类 -  MSSQL dba开发

摘要:在SQL Server中预定义语句(Prepared Statement)与即席查询(Ad Hoc Query)是啥区别呢? 其实官方文档甚至没有一个非常明确的定义说明,像Oracle、MySQL等其它数据库,也没有即席查询这类概念。下面简单总结一下即席查询跟预定义语句。 即席查询(Ad Hoc Q 阅读全文
posted @ 2022-11-01 09:28 郭大侠1 阅读(796) 评论(0) 推荐(1) 编辑
摘要:【1】sql server表分区与分表的关系 (1.1)sql server表分区 SQL Server 表分区是一项很棒的功能,可用于透明地将大表拆分为多个较小的表。 它允许您将数据存储在多个文件组中,并将数据库文件保存在不同的磁盘驱动器中,并且能够轻松地将数据移入和移出分区表。 表分区的一个常见 阅读全文
posted @ 2022-02-21 14:48 郭大侠1 阅读(869) 评论(0) 推荐(0) 编辑
摘要:比如打印出所有库名表名:如下 exec sp_MSforeachdb ' use ?; exec sp_msforeachtable @command1 = ''print "?.*" '',@replacechar= ''*''' 后续什么 所有的库表 bcp 导出之类的,都可以用这类办法 来源: 阅读全文
posted @ 2021-08-03 17:45 郭大侠1 阅读(75) 评论(0) 推荐(0) 编辑
摘要:【1】测试代码 CREATE TABLE #temp ( id INT IDENTITY(1, 1) PRIMARY KEY, mrp_no NVARCHAR(30), [status] VARCHAR(1) ) INSERT INTO #temp(mrp_no,status) SELECT 'AA 阅读全文
posted @ 2021-07-12 18:19 郭大侠1 阅读(108) 评论(0) 推荐(0) 编辑
摘要:【1】官网参考 (1)查询提示 option (maxdop) https://docs.microsoft.com/zh-cn/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-ver15 (2)查询中的表提示 https://d 阅读全文
posted @ 2021-05-21 14:38 郭大侠1 阅读(264) 评论(0) 推荐(0) 编辑
摘要:转自:CSDN 问题贴:https://bbs.csdn.net/topics/399171379 【1】问题 execute sp_addextendedproperty 'MS_Description','XXXX','user','dbo','table','TB1',null,null; e 阅读全文
posted @ 2021-05-08 09:49 郭大侠1 阅读(440) 评论(0) 推荐(0) 编辑
摘要:【1】isnull 的作用 在我们日常使用SQL中,isnull的作用就是判断第一个参数是否为 Null,如果是Null 值则使用第二个参数; 测试数据: use test3 create table test1( id int ,str char(100),str1 varchar(100) ) 阅读全文
posted @ 2021-04-22 14:57 郭大侠1 阅读(359) 评论(0) 推荐(0) 编辑
摘要:转自:RowVersion 用法 【0】RowVersion有什么作用? 在数据表更新时,如何表征每个数据行更新时间的先后顺序?最简单的做法是使用RowVersion(行版本)字段,它和时间戳(TimeStamp)类型的功能相似,只不过TimeStamp 已过时,应避免用于产品设计中,应使用RowV 阅读全文
posted @ 2021-04-12 17:07 郭大侠1 阅读(621) 评论(0) 推荐(1) 编辑
摘要:【0】概念 官网参考:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-prepare-transact-sql?view=sql-server-ver15 sp_prepare 阅读全文
posted @ 2021-04-12 16:25 郭大侠1 阅读(589) 评论(0) 推荐(0) 编辑
摘要:【1】like 多值匹配简化写法 USE tempdb GO IF OBJECT_ID('t') IS NOT NULL DROP TABLE t GO CREATE TABLE t( n NVARCHAR(20) ) GO INSERT INTO t(n) VALUES('13幢'),('14幢' 阅读全文
posted @ 2021-02-05 23:26 郭大侠1 阅读(978) 评论(0) 推荐(0) 编辑
摘要:【如何把一个存储过程新建到所有库中去?】 (1)获取批量语句(本机,要是远程机器,则写好 - h -u -p -P 等 主机、用户名、端口、密码) select 'sqlcmd -E -d '+name+' -i d:\sp.sql 1>>log.txt 2>>error.txt' from sys 阅读全文
posted @ 2021-01-28 18:43 郭大侠1 阅读(104) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-01-28 15:58 郭大侠1 阅读(8) 评论(0) 推荐(0) 编辑
摘要:转自:https://www.cnblogs.com/TeyGao/p/6929246.html 在博客园看到一篇讨论特别多的文章“探讨SQL Server并发处理存在就更新七种解决方案”,这种业务需求很常见:如果记录存在就更新,不存在就插入。 【1】基本做法 BEGIN TRANSACTION I 阅读全文
posted @ 2021-01-26 14:48 郭大侠1 阅读(370) 评论(0) 推荐(0) 编辑
摘要:【1】概念 【1.1】IDENT_CURRENT('tab_name') 返回为任何会话和任何作用域中的特定表最后生成的标识值。 IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。 【1.2】@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。 【1.3】 阅读全文
posted @ 2021-01-21 10:01 郭大侠1 阅读(245) 评论(0) 推荐(0) 编辑
摘要:使用 SET CONCAT_NULL_YIELDS_NULL OFF 来使得 'a'+null 结果为 'a' 而不是 null 【sql server2012以下】SET CONCAT_NULL_YIELDS_NULL OFF 官网:https://docs.microsoft.com/zh-cn 阅读全文
posted @ 2020-12-09 15:03 郭大侠1 阅读(220) 评论(0) 推荐(0) 编辑
摘要:【1】需求 sqlserver的可重复读不上间隙锁,会导致幻读,而mysql就采取了间隙锁。那么,sqlserver想要根据是否存在对应的记录,如果不存在就新增。怎么做到万无一失呢?比如下面这种,(在并发高的情况下)经常就引发报错:报错 id 已存在 if not exists(select 1 f 阅读全文
posted @ 2020-11-26 10:16 郭大侠1 阅读(525) 评论(0) 推荐(0) 编辑
摘要:【1】字符串类型递归报错 在CTE递归测试,遇到了小问题: 登时就迷糊了:不都是取的是Unit表中的同一个列,相加之后类型就变了么? 难道是因为,系统知道这是在进行递归运算,但又不确定递归的层次,以及字符串连接后的长度,于是把这个字符串的长度预设为很大很大的。 例子1: ;with t1(id ,n 阅读全文
posted @ 2020-10-12 18:21 郭大侠1 阅读(1635) 评论(0) 推荐(0) 编辑
摘要:以十进制格式转换HEX LSN值 在上面的fn_dblog的输出中,我们有LSN用于delete和truncate语句。 删除LSN:00000026:00000230:0001 截断LSN: 00000026:00000268:0001 fn_dblog中的LSN值采用十六进制格式。Restore 阅读全文
posted @ 2020-09-25 14:55 郭大侠1 阅读(653) 评论(0) 推荐(0) 编辑
摘要:【1】问题:当我们在已经有数据行的表上面添加带默认值的新列时,现存数据行新列值为null 而不是默认值 (1)原表 =》添加列后 alter table test103 add phone varchar(15) default '' =》 (2)新增行默认值可以出现 insert into tes 阅读全文
posted @ 2020-09-01 14:15 郭大侠1 阅读(645) 评论(0) 推荐(0) 编辑
摘要:【1】构造临时表的几种办法 【1.1】CTE 我们一般构造临时表,都要用CTE递归(但这比较适合大数据量) 我们要小数据量构造临时表,我以前经常用的是 ;with as temp( select 1 as id1 ,2 as id2 union all select 3 as id1 ,4 as i 阅读全文
posted @ 2020-08-20 14:50 郭大侠1 阅读(916) 评论(0) 推荐(0) 编辑