You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
9.4 KiB
79 lines
9.4 KiB
USE [Vertragsverwaltung_20160404]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_vertragselement_search] Script Date: 02.12.2016 09:08:53 ******/
|
|
DROP PROCEDURE [dbo].[sp_vertragselement_search]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[sp_vertragselement_search] Script Date: 02.12.2016 09:08:55 ******/
|
|
SET ANSI_NULLS OFF
|
|
GO
|
|
SET QUOTED_IDENTIFIER OFF
|
|
GO
|
|
|
|
CREATE proc [dbo].[sp_vertragselement_search] @query varchar(1000),
|
|
@fnkt int,
|
|
@mitarbeiternr int
|
|
as
|
|
SET NOCOUNT ON
|
|
|
|
declare
|
|
@SQLWhere varchar(4096),
|
|
@xsql varchar(4096)
|
|
set @sqlwhere = ''
|
|
|
|
-- Suche nach Vertragspartner.NameZ1
|
|
if @fnkt=0 begin
|
|
|
|
set @sqlwhere = ' vertragspartner.namez1 like ' + + char(39) + '%' + @query + '%' + char(39)
|
|
|
|
set @xsql='SELECT dbo.vertragselement.vertragselementnr, dbo.Vertragspartner.NameZ1 + ' + char(39) + ' ' + char(39) + ' + dbo.Vertragspartner.NameZ2 +' + char(39) + ', ' + char(39) + '+ dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragstyp.Vertragstyp, '
|
|
set @xsql=@xsql+' dbo.Vertragselement.Bezeichnung, dbo.Vertragselement.Version, dbo.Vertragselement.Versionsdatum, dbo.vertragselement.nummer '
|
|
set @xsql=@xsql+' FROM dbo.Vertragselement INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN '
|
|
set @xsql=@xsql+' dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr '
|
|
set @xsql=@xsql+' where dbo.vertragselement.securitylevelnr<=dbo.get_securitylevel('+str(@mitarbeiternr)+') and ' + @sqlwhere + ' order by vertragselement.bezeichnung '
|
|
|
|
exec(@xsql)
|
|
return
|
|
end
|
|
|
|
-- Suche nach Vertragselement.Bezeichnung
|
|
if @fnkt=1 begin
|
|
set @sqlwhere = ' vertragselement.bezeichnung like ' + + char(39) + '%' + @query + '%' + char(39)
|
|
|
|
set @xsql='SELECT dbo.vertragselement.vertragselementnr, dbo.Vertragspartner.NameZ1 + ' + char(39) + ' ' + char(39) + ' + dbo.Vertragspartner.NameZ2 +' + char(39) + ', ' + char(39) + '+ dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragstyp.Vertragstyp, '
|
|
set @xsql=@xsql+' dbo.Vertragselement.Bezeichnung, dbo.Vertragselement.Version, dbo.Vertragselement.Versionsdatum, dbo.vertragselement.nummer '
|
|
set @xsql=@xsql+' FROM dbo.Vertragselement INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN '
|
|
set @xsql=@xsql+' dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr '
|
|
set @xsql=@xsql+' where dbo.vertragselement.securitylevelnr<=dbo.get_securitylevel('+str(@mitarbeiternr)+') and ' + @sqlwhere + ' order by vertragselement.bezeichnung '
|
|
|
|
exec(@xsql)
|
|
return
|
|
end
|
|
|
|
-- Suche nach Vertragselement.Inhalt
|
|
if @fnkt=2 begin
|
|
set @sqlwhere = ' vertragselement.Beschreibung like ' + + char(39) + '%' + @query + '%' + char(39)
|
|
|
|
set @xsql='SELECT dbo.vertragselement.vertragselementnr, dbo.Vertragspartner.NameZ1 + ' + char(39) + ' ' + char(39) + ' + dbo.Vertragspartner.NameZ2 +' + char(39) + ', ' + char(39) + '+ dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragstyp.Vertragstyp, '
|
|
set @xsql=@xsql+' dbo.Vertragselement.Bezeichnung, dbo.Vertragselement.Version, dbo.Vertragselement.Versionsdatum '
|
|
set @xsql=@xsql+' FROM dbo.Vertragselement INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN '
|
|
set @xsql=@xsql+' dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr '
|
|
set @xsql=@xsql+' where dbo.vertragselement.securitylevelnr<=dbo.get_securitylevel('+str(@mitarbeiternr)+') and ' + @sqlwhere + ' order by vertragselement.bezeichnung '
|
|
|
|
exec(@xsql)
|
|
return
|
|
end
|
|
-- Suche nach Vertragselement.Suchbegriffe
|
|
if @fnkt=3 begin
|
|
set @sqlwhere = ' vertragselement.suchbegriffe like ' + + char(39) + '%' + @query + '%' + char(39)
|
|
|
|
set @xsql='SELECT dbo.vertragselement.vertragselementnr, dbo.Vertragspartner.NameZ1 + ' + char(39) + ' ' + char(39) + ' + dbo.Vertragspartner.NameZ2 +' + char(39) + ', ' + char(39) + '+ dbo.Vertragspartner.Ort AS Vertragspartner, dbo.Vertragstyp.Vertragstyp, '
|
|
set @xsql=@xsql+' dbo.Vertragselement.Bezeichnung, dbo.Vertragselement.Version, dbo.Vertragselement.Versionsdatum '
|
|
set @xsql=@xsql+' FROM dbo.Vertragselement INNER JOIN dbo.Vertragspartner ON dbo.Vertragselement.VertragspartnerNr = dbo.Vertragspartner.VertragspartnerNr INNER JOIN '
|
|
set @xsql=@xsql+' dbo.Vertragstyp ON dbo.Vertragselement.VertragstypNr = dbo.Vertragstyp.Vertragstypnr '
|
|
set @xsql=@xsql+' where dbo.vertragselement.securitylevelnr<=dbo.get_securitylevel('+str(@mitarbeiternr)+') and ' + @sqlwhere + ' order by vertragselement.bezeichnung '
|
|
|
|
exec(@xsql)
|
|
return
|
|
end
|
|
GO
|