One more question about building stored procedure
- From: Karl Fuchs <fuka@xxxxxxxx>
- Date: Mon, 4 May 2009 10:41:48 -0700 (PDT)
Hello,
one other question:
I use this statement to fill a list used für a DataRepeater-Control:
CREATE PROCEDURE dbo.stProc_Header_VerfSG_Lst AS
SELECT 'K ' + CAST(dbo.tbl_VerfSG.Verf_Nr AS nvarchar) + '/' + CAST
(RIGHT(dbo.tbl_VerfSG.Verf_Jahr, 2) AS nvarchar) AS lst_VerfNr,
CASE WHEN LEN(dbo.tbl_Kd.KdVorname) > 0 THEN
dbo.tbl_Kd.KdName + ', ' + dbo.tbl_Kd.KdVorname ELSE dbo.tbl_Kd.KdName
END AS lstKdName,
CASE WHEN dbo.tbl_VerfSG.ID_TEAM > 0 THEN
dbo.tbl_Team.Team + '-' ELSE '' END + CASE WHEN LEN
(dbo.tbl_Kd.KdzPDVNr)
> 0 THEN dbo.tbl_Kd.KdzPDVNr ELSE
dbo.tbl_Kd.KdSonstAz END AS lstVerfAz, dbo.tbl_VerfSG.EinDat AS
lstEinDat,
'Sachgebiet: ' + CASE WHEN
dbo.tbl_VerfSG.ID_Sachgebiet > 0 THEN SUBSTRING
(dbo._sys_tbl_K_Sgb.Sachgebiet, 4,
LEN(dbo._sys_tbl_K_Sgb.Sachgebiet) - 3)
ELSE '---' END + CASE WHEN
dbo.tbl_VerfSG.ID_Sperrzeit > 0 THEN ', Sperrzeit: ' + SUBSTRING
(dbo._sys_tbl_Sperrzeiten.Sperrzeit, 4,
LEN(dbo._sys_tbl_Sperrzeiten.Sperrzeit) - 3)
ELSE '' END + CASE WHEN dbo.tbl_VerfSG.ID_ErlArt > 0 THEN ', erledigt
am: ' + CONVERT(varchar(10),
dbo.tbl_VerfSG.ErlDat, 104) + ', ' + SUBSTRING
(dbo._sys_tbl_KErlArt.ErlArt, 4, LEN(dbo._sys_tbl_KErlArt.ErlArt) -
3)
ELSE ', unerledigt' END AS lstSachgebiet,
CASE WHEN dbo.tbl_VerfSG.ID_SG > 0 THEN 'SG ' +
dbo.Sozialgerichte.SG ELSE '---' END + CASE WHEN LEN
(dbo.tbl_VerfSG.AzSG)
> 0 THEN ', ' + dbo.tbl_VerfSG.AzSG ELSE '' END
AS lstSG, CASE WHEN LEN(dbo.tbl_VerfSG.Vermerk)
> 0 THEN dbo.tbl_VerfSG.Vermerk ELSE 'keine
Eintragungen' END AS lstVermerk
FROM dbo.tbl_VerfSG LEFT OUTER JOIN
dbo.Sozialgerichte ON dbo.tbl_VerfSG.ID_SG =
dbo.Sozialgerichte.SGNr LEFT OUTER JOIN
dbo._sys_tbl_KErlArt ON dbo.tbl_VerfSG.ID_ErlArt
= dbo._sys_tbl_KErlArt.ID_ErlArt LEFT OUTER JOIN
dbo._sys_tbl_K_Sgb ON
dbo.tbl_VerfSG.ID_Sachgebiet = dbo._sys_tbl_K_Sgb.ID_Sachgebiet LEFT
OUTER JOIN
dbo._sys_tbl_Sperrzeiten ON
dbo.tbl_VerfSG.ID_Sperrzeit = dbo._sys_tbl_Sperrzeiten.ID_Sperrzeit
LEFT OUTER JOIN
dbo.tbl_Team ON dbo.tbl_VerfSG.ID_Team =
dbo.tbl_Team.ID_Team LEFT OUTER JOIN
dbo.tbl_Kd ON dbo.tbl_VerfSG.ID_Kd =
dbo.tbl_Kd.ID_Kd
(I know, it´s a lot of code to read and to write). This is the "head"
of some different procedures, which allways have the same or quite
similar basic-queries but different WHERE-Clauses.
However I don´t want to write this head in every procedure, which
needs it, because it would be a lot of work to maintain the Code if
anything changes there.
First idea was to write this "head" in a view and create stored
procedures using this view. However, I´m not sure, if this runs well.
Next idea was to get the WHERE-Clause from the application - but I
wanted to store all my SQL-Code in SQL-Server and not in the
application.
Does anyone have a good idea to store the 'head' anywhere in SQL-
Server in one place and create stored procedures using this head.
btw: I use SQl Server 2000
Thank you in advance
Karl
.
- Follow-Ups:
- Re: One more question about building stored procedure
- From: Philipp Post
- Re: One more question about building stored procedure
- Prev by Date: Re: Stored procedure
- Next by Date: Re: Stored procedure
- Previous by thread: Stored procedure
- Next by thread: Re: One more question about building stored procedure
- Index(es):