MyTetra Share
Делитесь знаниями!
Существование индекса
09.03.2019
01:17
Текстовые метки: Fn_IndexExist
Раздел: !Закладки - SQL Server


--select * from sysindexes where name = 'PK_ListTimePoint'

--go

--select * from sysindexes where name = 'PK_ListTimePoint' and id = object_id('dbo.ListTimePoint')

--go



--/****** Object: UserDefinedFunction [dbo].[TestFunction] Script Date: 09.03.2019 0:47:59 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER FUNCTION [dbo].[TestFunction]

--create FUNCTION [dbo].[Fn_IndexExist]

(

@STR_IndexName VARCHAR(100) --О б ъ я в л е н и е в х о д я щ и х п а р а м е т р о в

)

RETURNS INT --Т и п в о з в р а щ а е м о г о р е з у л ь т а т а


BEGIN

DECLARE @bln_IndexExist INT;

--if exists (select * from sysindexes where name = 'PK_ListTimePoint' and id = object_id('dbo.ListTimePoint'))

if exists (select * from sysindexes where name = @STR_IndexName)

SET @bln_IndexExist = 1;

ELSE

SET @bln_IndexExist=0;


RETURN @bln_IndexExist

END

GO



--В ы з о в ф у н к ц и и . П о л у ч е н и е н а и м е н о в а н и я к о н к р е т н о г о т о в а р а

SELECT dbo.Fn_IndexExist('NonClusteredIndex-id_hour_Decl') AS Ibv

--PK_ListDatePJI

SELECT dbo.Fn_IndexExist('PK_ListDatePJI') AS Ibv







create table dbo.t1 (i int)

go

create table dbo.t2 (i int)

go

create index ix_i on dbo.t1(i)

go

create index ix_i on dbo.t2(i)

go

select * from sysindexes where name = 'ix_i'

go

select * from sysindexes where name = 'ix_i' and id = object_id('dbo.t1')

go


Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования