/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Begynder script: sql server 2000
Fra : Bjarne K.


Dato : 12-09-06 15:57

Jeg er først begyndt at lave lidt scripting idag, og er løbet ind i mit
første problem. Hvordan laver man et struktureret script ?

Jeg prøver forgæves at lave et script til query analyzer, der meget simpelt
kalder forskellige procedure (procedure generelt, altså ikke stored)

Det ser ikke ud til at man kan bruge flere create function eller procedure i
et script, og man kan vist heller ikke globale variabler, så findes der en
måde hvorpå man kan få nedenstående til at virke.

Jeg har brugt goto, idet det er det eneste jeg har været i nærheden at få
til at virke.
Hvis jeg undlader return, gå scriptet i en endless loop, og spyr tal ud, og
hvis jeg tager return med udføres kun label3.



declare var1 o.s.v.

set var1=1
o.s.v.

goto main:

label1:
Begin
Print var1
return
end

label2:
Begin
Print var2
return
end

Label3:
Begin
Print var3
return
end

main:
goto label3
goto label2
goto label1

Det skal bruges til at oprette backupdevices og backupjobs udfra nogle
parametre, der står i scriptet.
Altså hvis der står createmasterbackup='yes' så skal lablen/proceduren eller
funktionen createmasterbackup kaldes. Det skal være i 1 script, så man bare
kan klippe klistre ind i queryanalyser.


--

Med venlig hilsen

Bjarne K.



 
 
Peter Lykkegaard (14-09-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 14-09-06 10:56


Bjarne K. wrote:
> Jeg er først begyndt at lave lidt scripting idag, og er løbet ind i mit
> første problem. Hvordan laver man et struktureret script ?

Ved at lave flere stored procedures sammen med IF eller CASE sætniger

> Jeg har brugt goto, idet det er det eneste jeg har været i nærheden at få
> til at virke.
> Hvis jeg undlader return, gå scriptet i en endless loop, og spyr tal ud, og
> hvis jeg tager return med udføres kun label3.
>
Return afbryder scriptet helt og returnere til kaldende program

Hvis du insisterer på at brug Goto så kan du lave ekstra labels så
du hopper til din hoved sektion efter udførelse af under sektionen

Print 'Init'
Goto Header

Sub:
Print 'Sub'
Goto AfterSub

Header:
Print 'Header'
Goto Sub

AfterSub:
Print 'AfterSub'

Return

Det giver dig følgende resultat:

Init
Header
Sub
AfterSub

- Peter


Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409076
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste