﻿--[CERCA] '%COD%','P','c6martperiodico'
CREATE procedure  [dbo].[CERCA_FA]
	@testo varchar(500) = '',
	@tipo varchar(2) = '', 
	@schema varchar(500) = ''
AS
BEGIN
set @testo = '%' + @testo + '%'
IF @tipo <> ''  AND @schema <> ''
	SELECT  'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo)
	AND SCHEMA_NAME(schema_id) = @schema
	AND type = @tipo 
	order by 1
IF @tipo <> ''  AND @schema = ''
	SELECT  'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo)
	--AND SCHEMA_NAME(schema_id) = @schema
	AND type = @tipo
		order by 1
IF @tipo = ''  AND @schema <> ''
	SELECT  'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo)
	AND SCHEMA_NAME(schema_id) = @schema
	--AND type = @tipo 
		order by 1
IF @tipo = ''  AND @schema = ''
	SELECT  'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo)
	--AND SCHEMA_NAME(schema_id) = @schema
	--AND type = @tipo 
	order by 1
--AF = funzione di aggregazione (CLR)
--C = vincolo CHECK
--D = DEFAULT (vincolo o valore autonomo)
--F = vincolo FOREIGN KEY
--FN = funzione scalare SQL
--FS = funzione scalare di assembly (CLR)
--FT = funzione valutata a livello di tabella assembly (CLR)
--IF = funzione SQL inline valutata a livello di tabella
--IT = tabella interna
--P = stored procedure SQL
--PC = stored procedure di assembly (CLR)
--PG = guida di piano
--PK = vincolo PRIMARY KEY
--R = regola (tipo obsoleto, autonoma)
--RF = procedura-filtro-replica
--S = tabella di base di sistema
--SN = sinonimo
--SO = oggetto sequenza
--SQ = coda di servizio
--TA = trigger DML assembly (CLR)
--TF = funzione valutata a livello di tabella SQL
--TR = trigger DML SQL
--TT = tipo tabella
--U = tabella (definita dall'utente)
--UQ = vincolo UNIQUE
--V = vista
--X = stored procedure estesa
END