- #1
H
Hansis
Guest
Ich bin neu auf dem Gebiet des SQL-Servers und Stored Procedures.
Habe mir folgendes zusammengestrickt:
Db: Ich möchte alle DS der TAbelle hwsw_Software durchgehen, wo Lizenzpflichtig drinnen steht. Dann schaue ich in der Tabelle hwsw_installierteSoftware mit dem Count-Befehl nach, um herauszufinden, wie oft ein Datensatz mit der Software aus der vorigen Tabelle vorkommt. Denn diesen Wert möchte ich in die erste Tabelle (Software) eintragen.
Problem: Nur bricht bei mir die Schleife nicht ab. Und der Befehl select @Softwarename = Softwarename from dbo.hwsw_Software
scheint auch nicht zu funktionieren.
Wo ist mein Fehler?
Danke
Hansi
verschoben aus Server-Betriebssysteme und -Anwendungen
Habe mir folgendes zusammengestrickt:
Code:
ALTER PROCEDURE dbo.hwsw_sp_checklicencestatus
AS
declare @count_pc smallint
declare @count_sw tinyint
declare @softwarename varchar(255)
while exists (SELECT dbo.hwsw_Software.Softwarename, dbo.hwsw_Lizenzart.Lizenzart FROM dbo.hwsw_Software INNER JOIN dbo.hwsw_Lizenzart ON dbo.hwsw_Software.Lizenzart = dbo.hwsw_Lizenzart.lfdNr WHERE (dbo.hwsw_Lizenzart.Lizenzart =->Lizenzpflichtig'))
begin
select @Softwarename = Softwarename from dbo.hwsw_Software
INSERT INTO dbo.test (Softwarename) VALUES (@Softwarename)
print @Softwarename
set @count_pc = (SELECT COUNT(Softwarename) FROM dbo.hwsw_installierte_Software WHERE Softwarename=@softwarename)
IF EXISTS (SELECT COUNT(Softwarename) FROM dbo.hwsw_Software WHERE Softwarename=@softwarename)
begin
UPDATE dbo.hwsw_Software SET Lizenzen_verwendet = @count_pc WHERE Softwarename=@softwarename
end
ELSE
begin
INSERT into dbo.hwsw_Software (Softwarename, Lizenzen_verwendet, Lizenzen_Datum) values (@softwarename, @count_pc, GETDATE())
end
end
Db: Ich möchte alle DS der TAbelle hwsw_Software durchgehen, wo Lizenzpflichtig drinnen steht. Dann schaue ich in der Tabelle hwsw_installierteSoftware mit dem Count-Befehl nach, um herauszufinden, wie oft ein Datensatz mit der Software aus der vorigen Tabelle vorkommt. Denn diesen Wert möchte ich in die erste Tabelle (Software) eintragen.
Problem: Nur bricht bei mir die Schleife nicht ab. Und der Befehl select @Softwarename = Softwarename from dbo.hwsw_Software
scheint auch nicht zu funktionieren.
Wo ist mein Fehler?
Danke
Hansi
verschoben aus Server-Betriebssysteme und -Anwendungen