Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Optional variabeldeklaration

Postades av 2005-04-18 11:48:29 - Anders Rönngren, i forum sql-server/msde, Tråden har 6 Kommentarer och lästs av 530 personer

Kan man deklarera typ en otional variabel som om det inte har ett värde får ett default värde?

har nu
<code>
CREATE PROCEDURE sp_w_UpdateNew
@CheckID int,
@Check nvarchar(300)
AS
IF @CheckID=0
Insert into tCheck
(Check)
values (@Check);
else
update tCheck
set Check=@Check
where CheckID=@CheckID
GO
</code>
Om det är en ny post som läggs så sätter jag CheckID till 0 i applikationen, det känns som man borde kunna slippa det?


Svara

Sv: Optional variabeldeklaration

Postades av 2005-04-18 12:42:19 - Mikael Wedham

<code>
CREATE PROCEDURE proc_w_UpdateNew
@CheckID int = 0,
@Check nvarchar(300)
AS
IF @CheckID=0
Insert into tCheck
(Check)
values (@Check);
else
update tCheck
set Check=@Check
where CheckID=@CheckID
GO
</code>

Men då måste du ange variabelnamnet vid exec

EXEC proc_w_UpdateNew @Check = 'Olle'

Eller så kan du ha "optional" sist.

Notera också att sp_ som prefix inte är att rekommendera, då det står för SystemProcedure och KAN exekveras på ett oväntat sätt.

/micke


Svara

Sv:Optional variabeldeklaration

Postades av 2005-04-18 13:46:29 - Anders Rönngren

Tjena! Skulle nog förtydligat lite. Kör den sp'n från ASP.NET och vill slippa behöva definera en variabel som jag måste sätta till 0, tex CheckID=0 utan vill att om jag inte skickar in en sådan variabel så ska sql server känna av det och tilldela variabeln CheckID värdet 0. Hoppas det förstås bättre nu!

Angående sp-namngivningen så har jag precis förstått att SQL Server kan blanda ihop med egna sp i master db'n. Men samtidigt - när jag försöker göra en egen sp som redan finns i master så får jag ett felmeddelande. så det går ju inte att blanda ihop - eller?


Svara

Sv: Optional variabeldeklaration

Postades av 2005-04-18 14:02:52 - Håkan Borneland

<b>>vill att om jag inte skickar in en sådan variabel så ska sql server känna av det och tilldela variabeln CheckID värdet 0.</b>
Som Micke visade ovan, så är det det som sker om du inte anger ett argument för CheckID.
Mao du har fått svaret på din fråga redan.

//Håkan


Svara

Sv:Optional variabeldeklaration

Postades av 2005-04-18 14:39:33 - Marcus Gus

<b>Eller så kan du ha "optional" sist.</b>
Har iofs inte kollat efter just nu, men måste inte optional alltid ligga efter mandatory variabler? Vill minnas att det är så...


Svara

Sv: Optional variabeldeklaration

Postades av 2005-04-18 16:08:38 - Mikael Wedham

Pseudokod:

CREATE PROC test
@var1 int, @var2 int = 5, @var3 int
AS
blalalalalalala.

Anropas med :

test 1, 2, 3

Då MÅSTE alla utelämnade variabler vara i slutet. Även @var3 måste ha ett defaultvärde för att det skall funka att skriva
test 1, 2

annars kan man skriva

test @var1=1, @var2=2, @var3=3

Nu kan man utelämna @var2 genom att köra

test @var1=1, @var3=3

istället.

/micke


Svara

Sv:Optional variabeldeklaration

Postades av 2005-04-18 22:53:26 - Anders Rönngren

Ok, missförstod lite, har inte hunnit testa koden pga annat stressdritt.
Stort tack! :)


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
515
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies