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


SP som låser sig ibland... ?

Postades av 2003-01-29 08:58:05 - Rickard Nordström, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 649 personer

Några gånger har en nedan SP "slutat fungera" dvs time out. Det mest besynnerliga är att när detta inträffar så går det att göra manuella Select/Update/Insert från Query Analyser. Väldigt frustrerande. Tror dock att jag är felet på spåret genom följande KB: http://support.microsoft.com/default.aspx?scid=kb;en-us;259466

Någon som vet mer?
<code>

CREATE Procedure A_Statistic_NewVisit
@CustomerID int
As

set nocount on
DECLARE @datum datetime
set @datum = substring(convert(varchar(10),getdate(),120),1,10)

if EXISTS(select CustomerID from Statistic where VisitDate=@datum and CustomerID=@CustomerID)
begin
update Statistic set Visits = Visits + 1 where VisitDate=@datum and CustomerID=@CustomerID
end
else
begin
insert into Statistic(CustomerID, Visits, Visitdate) values(@CustomerID,1,@Datum)
end

return
GO
</code>


Svara

Sv: SP som låser sig ibland... ?

Postades av 2003-01-29 11:29:33 - Andreas Hillqvist

Något jag undrar över är om det är mer effektivt att skriva:

CREATE Procedure A_Statistic_NewVisit
@CustomerID int
As

set nocount on
DECLARE @Datum datetime
DECLARE @Found

SET @Found = 0
SET @datum = substring(convert(varchar(10),getdate(),120),1,10)

UPDATE Statistic SET @Found = 1, Visits = Visits + 1
WHERE VisitDate = @datum AND CustomerID=@CustomerID

IF @Found = 0
INSERT INTO Statistic(CustomerID, Visits, Visitdate)
VALUES(@CustomerID, 1, @Datum)

RETURN
GO

Du slipper ju på så sätt Existen. Frågan är Om en Exist tar mer eller mindre tid än att kontrolera med en update-sats?


Svara

Sv: SP som låser sig ibland... ?

Postades av 2003-01-29 12:57:06 - Christoffer Hedgate

Nja, en EXISTS tar inte lång tid alls, åtminstone inte om man har index för den. Men visst, om man väntar sig att få många fler UPDATEs än INSERTs, då kan det ju vara värt att göra på Andreas vis, även om vinsten är minimal. Dock skulle jag använt @@ROWCOUNT istället för en egen @FOUND-variabel (även om det inte är någon prestandamässig skillnad tycker jag det är snyggare):

CREATE Procedure A_Statistic_NewVisit
@CustomerID int
As

set nocount on
DECLARE @Datum datetime
SET @datum = substring(convert(varchar(10),getdate(),120),1,10)

UPDATE Statistic SET Visits = Visits + 1
WHERE VisitDate = @datum AND CustomerID=@CustomerID

IF @@ROWCOUNT = 0
INSERT INTO Statistic(CustomerID, Visits, Visitdate)
VALUES(@CustomerID, 1, @Datum)

RETURN
GO


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
496
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