Avatar billede iakob Nybegynder
19. april 2004 - 09:44 Der er 4 kommentarer og
1 løsning

Kan man køre en procedure på under betingelser?

Hej
Jeg har en fil som indeholder en række procedure-definitioner. Filen skal køres på to forskellige databaser af OSQL, men de enkelte procedurer skal kun køres på hvis en bestemt betingelse er opfyldt (de vil fejle hvis det ikke er tilfældet).

Da en procedure skal være den første statement i en batch og da "return" kun returnerer fra batchen kan jeg ikke lige finde ud af hvordan jeg skal undgå at få procedurerne lagt på.

Jeg kan lægge procedurerne sidst i filen, således at hvis hele installationen afbrydes lige før dem, så får jeg mit ønske opfyldt. Men hvordan gør man? Kan man overhovedet det?

(Jeg vil helst undgå at splitte filen op i flere filer)
Avatar billede trer Nybegynder
19. april 2004 - 10:20 #1
I dit script kan du lægge en test ind i et if statement og kalde din create som dynamisk sql

if something=true begin
  set @sql = 'create procedure whatever .... '
  exec (@sql)
end
Avatar billede iakob Nybegynder
19. april 2004 - 12:15 #2
Det ved jeg, men den løsning er værre end at splitte filen op. Det giver en kompleksitet som i dette tilfælde er uacceptabelt. Tak for svaret, men desværre kan jeg ikke bruge den løsning.
Avatar billede trer Nybegynder
19. april 2004 - 13:17 #3
I så fald mener jeg ikke at du kan.
Avatar billede iakob Nybegynder
21. april 2004 - 13:01 #4
Oh well...
Avatar billede iakob Nybegynder
21. april 2004 - 13:02 #5
Stopper spørgsmålet
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