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


UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-06 23:38:21 - Christer Engholm, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 593 personer

Databas: SQL 2000
Plattform: ASP.NET
Språk: VB

Detta känns lite som fel forum, men jag provar ändå :-)

Jag försöker köra följande procedur:
<code>
CREATE PROCEDURE spUpdateUserDetailsByAdmin

@UserName varchar(255),
@Password varchar(255),
@UserIsActive int,
@FirstName varchar(255),
@LastName varchar(255),
@Address varchar(255),
@Zip varchar(255),
@City varchar(255),
@WorkPhone varchar(255),
@Phone varchar(255),
@WorkMobile varchar(255),
@Mobile varchar(255),
@WorkFax varchar(255),
@Fax varchar(255),
@WorkEmail varchar(255),
@Email varchar(255),
@AccountUpdateDate date,
@UserID int,
@AutoLogin int,
@UserLevel int

AS

UPDATE tblUsers
INNER JOIN tblUserDetails
ON tblUsers.pkUserID = tblUserDetails.fkUserID
SET tblUsers.UserName = @UserName, tblUsers.[Password] = @Password, tblUserDetails.UserIsActive = @UserIsActive,
tblUserDetails.FirstName = @FirstName, tblUserDetails.LastName = @LastName], tblUserDetails.Address = @Address,
tblUserDetails.Zip = @Zip, tblUserDetails.City = @City, tblUserDetails.WorkPhone = @WorkPhone, tblUserDetails.Phone = @Phone,
tblUserDetails.WorkMobile = @WorkMobile, tblUserDetails.Mobile = @Mobile, tblUserDetails.WorkFax = @WorkFax, tblUserDetails.Fax = @Fax,
tblUserDetails.WorkEmail = @WorkEmail, tblUserDetails.Email = @Email, tblUserDetails.AccountUpdatedDate = @AccountUpdateDate, tblUserDetails.UpdatedByID = @UserID,
tblUserDetails.AutoLogin = @AutoLogin, tblUserDetails.fkUserLevel = @UserLevel
WHERE tblUserDetails.fkUserID=@UserID

RETURN
GO
</code>

Jag får följande felmeddelande:

Error 156: Incorrect syntax near the keyword 'INNER'



Svara

Sv: UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-06 23:42:39 - Karl Adriansson

kan du inte köra det som två separata update satser då? kanske lite ruttet prestanda mässigt vad vet jag men det borde ju funka iaf ;-)

<code>
CREATE PROCEDURE ......

AS

UPDATE tblUser SET UserName = @User...... WHERE pkUser = @UserID

UPDATE tblUserDetails SET UserIsActive = @User... WHERE fkUserID = @UserID
</code>


Svara

Sv: UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-06 23:44:09 - Andreas Hillqvist

Har för mig att man skrev:

<code>
UPDATE tblUsers
SET tblUsers.UserName = @UserName, tblUsers.[Password] = @Password, tblUserDetails.UserIsActive = @UserIsActive,
tblUserDetails.FirstName = @FirstName, tblUserDetails.LastName = @LastName], tblUserDetails.Address = @Address,
tblUserDetails.Zip = @Zip, tblUserDetails.City = @City, tblUserDetails.WorkPhone = @WorkPhone, tblUserDetails.Phone = @Phone,
tblUserDetails.WorkMobile = @WorkMobile, tblUserDetails.Mobile = @Mobile, tblUserDetails.WorkFax = @WorkFax, tblUserDetails.Fax = @Fax,
tblUserDetails.WorkEmail = @WorkEmail, tblUserDetails.Email = @Email, tblUserDetails.AccountUpdatedDate = @AccountUpdateDate, tblUserDetails.UpdatedByID = @UserID,
tblUserDetails.AutoLogin = @AutoLogin, tblUserDetails.fkUserLevel = @UserLevel
FROM tblUsers INNER JOIN tblUserDetails ON tblUsers.pkUserID = tblUserDetails.fkUserID
WHERE tblUserDetails.fkUserID=@UserID
</code>
Eller:
<code>
UPDATE tblUsers
SET tblUsers.UserName = @UserName, tblUsers.[Password] = @Password, tblUserDetails.UserIsActive = @UserIsActive,
tblUserDetails.FirstName = @FirstName, tblUserDetails.LastName = @LastName], tblUserDetails.Address = @Address,
tblUserDetails.Zip = @Zip, tblUserDetails.City = @City, tblUserDetails.WorkPhone = @WorkPhone, tblUserDetails.Phone = @Phone,
tblUserDetails.WorkMobile = @WorkMobile, tblUserDetails.Mobile = @Mobile, tblUserDetails.WorkFax = @WorkFax, tblUserDetails.Fax = @Fax,
tblUserDetails.WorkEmail = @WorkEmail, tblUserDetails.Email = @Email, tblUserDetails.AccountUpdatedDate = @AccountUpdateDate, tblUserDetails.UpdatedByID = @UserID,
tblUserDetails.AutoLogin = @AutoLogin, tblUserDetails.fkUserLevel = @UserLevel
INNER JOIN tblUserDetails ON tblUsers.pkUserID = tblUserDetails.fkUserID
WHERE tblUserDetails.fkUserID=@UserID
</code>
Eller Varför inte göra två uppdateringar?
<code>
UPDATE tblUsers SET tblUsers.UserName = @UserName, tblUsers.[Password] = @Password
WHERE tblUsers.pkUserID=@UserID
</code>
UPDATE tblUserDetails SET tblUserDetails.UserIsActive = @UserIsActive,
tblUserDetails.FirstName = @FirstName, tblUserDetails.LastName = @LastName], tblUserDetails.Address = @Address,
tblUserDetails.Zip = @Zip, tblUserDetails.City = @City, tblUserDetails.WorkPhone = @WorkPhone, tblUserDetails.Phone = @Phone,
tblUserDetails.WorkMobile = @WorkMobile, tblUserDetails.Mobile = @Mobile, tblUserDetails.WorkFax = @WorkFax, tblUserDetails.Fax = @Fax,
tblUserDetails.WorkEmail = @WorkEmail, tblUserDetails.Email = @Email, tblUserDetails.AccountUpdatedDate = @AccountUpdateDate, tblUserDetails.UpdatedByID = @UserID,
tblUserDetails.AutoLogin = @AutoLogin, tblUserDetails.fkUserLevel = @UserLevel
WHERE tblUserDetails.fkUserID=@UserID
</code>
Varför har du två tabeller? Får informationen inte plats i tblUsers?


Svara

Sv: UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-06 23:45:44 - Christer Engholm

Nja, jag har get mig F*N på att få detta att fungera. Jag är inte så hemma i procedurvärlden så jag vill lära mig av mina misstag. Tack i alla fall!


Svara

Sv: UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-06 23:57:40 - Christer Engholm

Dina två förslag fungerade inte :-(

Det blir kanske till att köra dubbeluppdatering eller bygga ut tabellen tblUserDetails.


Svara

Sv: UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-07 00:22:06 - Andreas Hillqvist

Kollat upp i MSDN nu.

Transact-SQL Reference: UPDATE
http://msdn.microsoft.com/library/en-us/tsqlref/ts_ua-uz_82n9.asp

Man kan inte uppdater två tabeller utan endast en av tabellerna i joinen.

Exempel:

UPDATE titles SET ytd_sales = t.ytd_sales + s.qty
FROM titles t INNER JOIN sales s ON t.title_id = s.title_id
WHERE s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)


Svara

Sv: UPDATE och INNER JOIN i SQL (Stored Procedure)

Postades av 2003-08-07 00:33:58 - Christer Engholm

Tack för hjälpen!


Svara

Nyligen

  • 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
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 155
27 952
271 704
6 051
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