Granite WMS/SQL

SQL tips and tricksEdit

DatabaseEdit

Insert IDEdit

SET IDENTITY_INSERT tablename ON 
SET IDENTITY_INSERT tablename OFF

View sql result statisticsEdit

SET STATISTICS IO ON
SET STATISTICS TIME ON

Find triggers in databaseEdit

select * from sys.triggers

select [definition] from sys.sql_modules m
inner join sys.objects obj on obj.object_id=m.object_id 
where obj.type ='TR'

Disable all triggers in databaseEdit

EXEC sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER ALL"

Activity monitor - Release locksEdit

Right click on the SQL instance Open Activity monitor Click processes

Helpful query

Example to iterate / loop over recordsEdit

declare @id bigint --id to loop
select @id = min(id) from OptionalFields where AppliesTo = 'MASTERITEM' --example get all optional fields for masteritems

while @id is not null
begin
	--do your thing insert update
	insert into OptionalFieldValues_MasterItem(Belongsto_id, OptionalField_id) 
    select ID, @id from MasterItem;
    --get next id
    select @id = min(id) from OptionalFields where ID > @id
end