摘要:
参考下面代码,有方法一和方法二,判断临时表是否存在。但是方法一非临时表也可以使用,而方法二,纯判断临时表是否存在。 方法一: DECLARE @TABLE_NAME SYSNAME = '[#table_name]', --传入临时表名 @TABLE_SCHEMA SYSNAME = N'[dbo] 阅读全文
摘要:
参考下面步骤: 阅读全文
摘要:
前几天一直练习PIVOT透视,还实现了动态透视的存过程《动态透视表》https://www.cnblogs.com/insus/p/10888277.html 今天练习MS SQL Server逆透视的功能。 首先准备一些可以逆透视的数据: IF OBJECT_ID('tempdb.dbo.#Par 阅读全文
摘要:
根据多个可能的答案检查一个值或变量。 举例说明: SELECT [type],CASE [type] WHEN 'TT' THEN 'TYPE_TABLE' WHEN 'FN' THEN 'SQL_SCALAR_FUNCTION' WHEN 'C' THEN 'CHECK_CONSTRAINT' W 阅读全文
摘要:
从sys.objects对象表中,可以获取当前数据库所有触发器: SELECT * FROM sys.objects WHERE [type] = 'tr' 阅读全文
摘要:
本例实现动态表名,列名,输入参数,输出参数等进行操作。 先准备一些数据: IF OBJECT_ID('tempdb.dbo.#Part') IS NOT NULL DROP TABLE #Part CREATE TABLE #Part ( [ID] INT, [Item] NVARCHAR(40), 阅读全文
摘要:
数字辅助表: DECLARE @start_digital INT = 0, @end_digital INT = 9 ;WITH Digital_Rangs(Digital) AS ( SELECT @start_digital UNION ALL SELECT [Digital] = [Digi 阅读全文
摘要:
使用CTE,ROW_NUMBER,PARTITION BY来处理数据表重复记录。 先准备下面的数据: IF OBJECT_ID('tempdb.dbo.#Part') IS NOT NULL DROP TABLE #Part CREATE TABLE #Part ( [ID] INT, [Item] 阅读全文
摘要:
如标题一样,检索每个组的最后一条记录。 举例说明,先准备一些数据: 要求是以[Category]来分组, 检查以[Qty]数据最大的记录。 CTE查询分组表: SELECT数据: 只要我拿到row number为1的记录即可,因为在CTE处理时,已经做好按[Category]来分组并排序。 阅读全文
摘要:
写一个符合自己要求使用透视存储过程。在开发时,直接使用即可。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-19 -- Update date: 201 阅读全文
摘要:
有网友问及,看到Insus.NET帮他解决问题分享的截屏时,发现代码中有显示行号。而他的没有。 Step1: Go to Tools > Options Step2: In the Options dialog box navigate to Text Editor > All Languages> 阅读全文
摘要:
刚有网友提问,只有一张表,其中有子键与父键关联,怎样根扰子键查询到父键记录的数据? Insus.NET尝试写了一个简单的例子,希望能看得懂。 CREATE TABLE [dbo].[tempTable] ( [id] INT , [parent_id] INT NULL, [itemName] NV 阅读全文
摘要:
从这个表sys.dm_db_index_usage_stats可以获取到所有表或某一张表的用户或系统异动时间: SELECT OBJECT_NAME(object_id) AS table_name, last_user_seek, last_user_scan, last_user_lookup, 阅读全文
摘要:
我们有一串字符串,比如: 现想把它反转显示: 此时,你可以写一个方法来处理: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-16 -- Update d 阅读全文
摘要:
以前曾经做过练习《T-SQL PIVOT 行列转换》https://www.cnblogs.com/insus/archive/2011/03/05/1971446.html 今天把拿出来,再练习。 以前透视列,需要手动指定。是否可以动态拿到呢? 看看下面的演示: 在实现之前,得先参考这篇《列值转换 阅读全文
摘要:
在动态编程中,我们需要获取表的结构数据,如表名,数据类型,精度等数据。你可以参考下面几行代码: DECLARE @table_Name SYSNAME = 'Q' SELECT t.TABLE_NAME, c.COLUMN_NAME, c.DATA_TYPE, c.NUMERIC_PRECISION 阅读全文
摘要:
搜索存储过程,视图,函数(Table-valued Function, Scalar-valued Function)内容。 DECLARE @search_word NVARCHAR(MAX) = 'CAST' SELECT sys.objects.name AS [Object Name] FR 阅读全文
摘要:
想知道某一天是星期几,下面Insus.NET写了一个函数,具体是怎样,可以细细研究。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-15 -- Upda 阅读全文
摘要:
Insus.NET把它们写成自定义函数,再程序中直接套用即可。 前一天: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-15 -- Update dat 阅读全文
摘要:
以前写过一个方法,先去参考《T-SQL判断是否为今天》https://www.cnblogs.com/insus/archive/2012/03/22/2411209.html 今天使用一个更加简单的方法来实现: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER 阅读全文