Avatar billede thomasofdenmark Nybegynder
07. juli 2006 - 16:16 Der er 3 kommentarer og
1 løsning

Vælg tabel i stored procedure via CASE

Hej

Hvad er der galt her:
Jeg får en "Error 156: Incorrect syntax near keyword CASE"
(Choices_EN og DK er tabeller)


CREATE PROCEDURE [GetChoices]
(
@intQuestionId int,
@strLanguage nvarchar (200)
)
AS
SELECT strChoice FROM CASE
    WHEN @strLanguage = 'EN' THEN Choices_EN
    WHEN @strLanguage = 'DK' THEN Choices_DK
    END
WHERE intQuestionId = @intQuestionId

GO
Avatar billede arne_v Ekspert
07. juli 2006 - 16:23 #1
jeg mener ikke at du kan bruge CASE i FROM
Avatar billede Slettet bruger
07. juli 2006 - 19:49 #2
Det kan man ikke. Det tætteste du kommer på er at bygge en SQL string og så eksekverer den.

Det er bare ikke særlig hensigstmæssigt da den SQL så ikke kan pre-compileres, hvilket jo er en af de primære fordele ved stored-procedures (performance om ikke andet). Der er ligesom to modeller enten styre du den slags i applikationslaget eller også laver du en IF konstruktion i din stored-procedure såldes at SQL'en kan pre-kompileres.

Du kunne også prøve at arbejde med en konstruktion hvor du ikke havde sprog i flere tabeller men istedet organiserede det såldes at en parameter på SELECT'en styrede hvilket sprog der var tale om.
Avatar billede arne_v Ekspert
07. juli 2006 - 21:34 #3
det sidste lyder som en rigtig god ide !
Avatar billede thomasofdenmark Nybegynder
10. juli 2006 - 14:20 #4
Yes, det bliver løsningen. Tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester