Skip to content

Instantly share code, notes, and snippets.

View gsganesh's full-sized avatar

g100 gsganesh

View GitHub Profile
CREATE TABLE #YourTable ([ID] INT, [Name] CHAR(1))
INSERT INTO #YourTable ([ID],[Name]) VALUES (1,'A')
INSERT INTO #YourTable ([ID],[Name]) VALUES (1,'B')
INSERT INTO #YourTable ([ID],[Name]) VALUES (2,'C')
SELECT
[ID],
STUFF((
SELECT ', ' + [Name] + ''
SELECT
sysobjects.name AS trigger_name
,USER_NAME(sysobjects.uid) AS trigger_owner
,s.name AS table_schema
,OBJECT_NAME(parent_obj) AS table_name
,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate
,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete
,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert
,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter
,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof
@gsganesh
gsganesh / gist:88764031510e8546fcbecdd2665c5406
Created April 27, 2017 10:59
sql SSMS remove more than two blank lines to single blank line
Click ctrl H,
enter Find What \n\n+
enter replace with \n\n
click use regular expression checkbox
click replace all
select sys.tables.name,sys.triggers.name,sys.trigger_events.type
,sys.trigger_events.type_desc, is_first,is_last
,sys.triggers.create_date,sys.triggers.modify_date
from sys.triggers inner join sys.trigger_events
on sys.trigger_events.object_id = sys.triggers.object_id
inner join sys.tables on sys.tables.object_id = sys.triggers.parent_id
WHERE sys.tables.name LIKE 'INPUT_TABLENAME'
order by modify_date
order of execution of the triggers may depend upon the order of their creation
DECLARE @a VARCHAR(10) = 'asdf'
DECLARE @b VARCHAR(10) = NULL
SELECT @a + @b, CONCAT(@a, @b)
result
NULL, asdf
IF EXISTS ( SELECT *
FROM sys.objects o
INNER JOIN sys.procedures p ON o.schema_id = p.schema_id
WHERE o.type = 'P'
AND o.name = 'procedurename'
AND p.schema_id = SCHEMA_ID('schema name') )
BEGIN
DROP PROCEDURE [schemaname].[procedurename];
END;
GO
DECLARE @param NVARCHAR(MAX)
SET @param = '6,7,7,8,10,12,13,14,16,44,46,47,394,396,417,488,714,717,718,719,722,725,811,818,832,833,836,837,846,913,914,919,922,923,924,925,926,927,927,928,929,929,930,931,932,934,935,1029,1072,1187,1188,1192,1196,1197,1199,1199,1199,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1366,1367,1387,1388,1666,1759,1870,2042,2045,2163,2261,2374,2445,2550,2676,2879,2880,2881,2892,2893,2894'
SELECT * FROM
(
SELECT
DISTINCT Split.a.value('.', 'VARCHAR(100)') AS CVS
FROM
(
SELECT CAST ('<M>' + REPLACE(@param, ',', '</M><M>') + '</M>' AS XML) AS CVS
@gsganesh
gsganesh / list all the objects attached to the schema
Last active March 31, 2017 09:54
sql list all the objects attached to the schema
SELECT *
FROM sys.objects
WHERE schema_id = SCHEMA_ID('SchemaName');
RAISERROR ('Now that''s what I call a message!', 0, 1) WITH NOWAIT
@gsganesh
gsganesh / To get list of tables used in a stored procedure
Last active March 31, 2017 09:53
To get list of tables used in a stored procedure
;WITH stored_procedures AS (
SELECT
o.name AS proc_name, oo.name AS table_name,
ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row
FROM sysdepends d
INNER JOIN sysobjects o ON o.id=d.id
INNER JOIN sysobjects oo ON oo.id=d.depid
WHERE o.xtype = 'P')
SELECT proc_name, table_name FROM stored_procedures
WHERE row = 1 AND stored_procedures.proc_name = 'stprocname'