[MSSQL] Bedingte Abfrage und Werte ändern

fUnKuCh3n

Erfahrenes Mitglied
Hallo, ich habe eine Abfrage, diese holt sich aus einer bestimmten Spalte in der DB Werte von PC-Herstellern, jedoch stehen dort z.b. mal: "Dell Inc." oder "Dell Computers" und ich möchte gerne bevor die Werte in eine andere Spalte der DB geschrieben werden alles was %Dell% ist auf "Dell" ändern, also alles was davor/hinter steht einfach weg haben.

Meine Prozedur lautet wie folgt:
SQL:
ALTER PROCEDURE [dbo].[herstellerupdate] 

AS
	  begin
      declare @guid varchar (40)
      declare @value varchar (1024)
      declare hersteller cursor local fast_forward read_only
      for
      SELECT inp1.guid_machine, inp1.description
      FROM inventory_nodeproperties inp1
      WHERE inp1.entry like 'System Manufacturer' 
      AND description not like ''
      AND description not like 'Unknown'
      AND EXISTS ( SELECT description FROM inventory_nodeproperties inp2 WHERE inp2.guid_machine = inp1.guid_machine and inp2.datetime = inp1.datetime AND inp2.entry = 'System Manufacturer' AND inp1.node_id = inp2.node_id AND description NOT LIKE '')
      AND inp1.datetime = (SELECT MAX(datetime) FROM inventory_scans  WHERE inventory_scans.guid_machine = inp1.guid_machine );
      open hersteller;
      fetch next from hersteller
      into @guid, @value;
      while @@fetch_status = 0
      begin
            if exists (select * from vars where guid_link = @guid and scope = '__MACHINE__' and category = 'Hardware' and name = 'Hersteller')
            begin
                  update vars
                  set
                  value = @value
                  where guid_link = @guid
                  and scope = '__MACHINE__'
                  and category = 'Hardware'
                  and name = 'Hersteller';
            end
            else
            begin
                  insert
                  into vars
                  values
                  (@guid, '__MACHINE__', 'Hardware', 'Hersteller', @value);
            end
            fetch next from hersteller
            into @guid, @value;
      end
      close hersteller;
      deallocate hersteller;
end

Kann mir einer auf die Sprünge helfen? :)
Danke!
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück