VinnarenMedlem sedan sep. 2005858 inlägg
Har följande:
SET @MobileCount = (SELECT COUNT(PhoneId) FROM Phone WHERE ParentId = @ParentId AND PhoneTypeId = @MobileTypeId)
/*finns inget mobiltelefonnummer sedan tidigare*/
if(@MobileCount = 0)
BEGIN
if(@MobilePhone != null)
BEGIN
SET @ErrMsg = 'Fel inträffade när mobiltelefonnummret skulle sparas'
INSERT INTO Phone(Phone, PhoneTypeId, ParentId) VALUES(@MobilePhone, @MobileTypeId, @ParentId)
END
END
/*finns mobiltelefonnummer sedan tidigare*/
ELSE
BEGIN
/* om mobilnummer är angivet*/
if(@MobilePhone != null)
BEGIN
SET @ErrMsg = 'Fel inträffade när mobiltelefonnummret skulle uppdateras'
UPDATE Phone SET Phone = @MobilePhone WHERE ParentId = @ParentId AND PhoneTypeId = @MobileTypeId
END
ELSE
/* om mobilnummer inte är angivet och finns sedan tidigare, ta bort*/
BEGIN
DELETE FROM Phone WHERE ParentId = @ParentId AND PhoneTypeId = @MobileTypeId
END
END
Får inget felmeddelande, men kommer inte in något i tabellen. Vad kan det vara för fel? :q
ANV: MSSQL 2005
Tacksam för all hjälp :stud
Peter SMedlem sedan dec. 20025 484 inlägg
Har du gjort print:s på de variabler du kontrollerar?
LarsGMedlem sedan dec. 200012 465 inlägg
if (@MobilePhone != null)
är aldrig sant. Använd
if (@MobilePhone is not null)
VinnarenMedlem sedan sep. 2005858 inlägg
tack, fungerade kanon :bire
VinnarenMedlem sedan sep. 2005858 inlägg
nytt problem med en SP :r
Har följande:
SELECT (c.LastName + ', ' + c.FirstName) AS Name, c.ChildId, d.Name AS DepartmentName, (isnull(s.LastName, 'Saknas') + ', ' + isnull(s.FirstName, '')) AS StaffName, (isnull(p1.LastName, 'Saknas') + ', ' + isnull(p1.FirstName, '')) AS Parent1Name, (isnull(p2.LastName, 'Saknas') + ', ' + isnull(p2.FirstName, '')) AS Parent2Name
FROM Child AS c
INNER JOIN Department AS d
ON c.DepartmentId = d.DepartmentId
LEFT OUTER JOIN Staff AS s
ON c.StaffId = s.StaffId
LEFT OUTER JOIN ParentToChild AS ptc1
ON c.ChildId = ptc1.ChildId
LEFT OUTER JOIN Parent AS p1
ON ptc1.ParentId = p1.ParentId
LEFT OUTER JOIN ParentToChild AS ptc2
ON c.ChildId = ptc2.ChildId AND ptc2.ParentId != p1.ParentId
LEFT OUTER JOIN Parent AS p2
ON ptc2.ParentId = p2.ParentId
WHERE c.DepartmentId = @DepartmentId
ORDER BY c.LastName ASC, c.FirstName ASC
När den är isnull så vill jag enbart få ut Saknas, nu får jag ut Saknas,
dvs jag vill ha bort ,
Sätter jag isnull på variablen efter blir den ju aldrig null då ', '
Samt kan man lösa när @DepartmentId = 0 ska alla visas på nott enkelöt sätt eller måste man ha två frågor?
Tacksam för all hjälp
LarsGMedlem sedan dec. 200012 465 inlägg
isnull(s.lastname + ',' + isnull(...),'saknas')
WHERE c.DepartmentId = @DepartmentId
or @departmentId = 0
VinnarenMedlem sedan sep. 2005858 inlägg
tack, får felmeddelandet:
The isnull function requires 2 argument(s).
LarsGMedlem sedan dec. 200012 465 inlägg
VinnarenMedlem sedan sep. 2005858 inlägg
Ändrade en till isnull(s.Firstname+ ',' + isnull(s.LastName),'saknas')
LarsGMedlem sedan dec. 200012 465 inlägg
isnull(s.LastName)
skall vara
isnull(s.LastName,'')
VinnarenMedlem sedan sep. 2005858 inlägg
gött, tack, funkar perfa :stud