Andmebaasi tabelis on väli text_id INT tüüpi ja title_text NVARCHAR(1000).
Kui nüüd vaja salvestatud protseduuris parameetrina ette anda mis järjestuses andmeid kätte saada tahetakse
ALTER PROCEDURE [dbo].[TEXT_ROLES_KUIDO_S]
@sortorder TINYINT=0 --0 NIME JÄRGI 1-ID JÄRGI
AS
BEGIN
SET NOCOUNT ON
SELECT [text_id],[title_text] FROM [dbo].[TEXT_TITLES]
ORDER BY CASE WHEN @sortorder = 0 THEN title_text ELSE text_id END
END
siis selline lähenemine annab veateate @sortorder = 0 korral
Conversion failed when converting the nvarchar value 'Mingi tekst' to data type int.
kuna title_text-i hakatake INT andmetüübiks pöörama. Veast saab lahti, kui ORDER BY kirjutada järgmiselt
SELECT [text_id],[title_text] FROM [dbo].[TEXT_TITLES]
ORDER BY CASE WHEN @sortorder = 0 THEN title_text END ,
CASE WHEN @sortorder = 1 THEN text_id END