# Höchste raumID finden ```sql /* Datasources > SQL-begehung_raume */ DECLARE @modus_raum NVARCHAR(255) = '$state.modus_raum'; DECLARE @protokoll_id NVARCHAR(255) = '$state.protokoll_id'; IF @modus_raum = 'new' AND @protokoll_id != '' BEGIN -- Prüfung, ob Einträge zur übergebenen protokoll_id existieren. IF EXISTS ( SELECT 1 FROM [engomo].[dbo].[begehung_raume] WHERE [protokoll_id] = @protokoll_id ) BEGIN -- Es existieren Einträge, den höchsten raum_id-Wert ermitteln und um 1 erhöhen SELECT ISNULL(MAX(CAST([raum_id] AS INT)), 0) + 1 AS next_raum_id --'' AS raum_bezeichnung -- Leerer Wert für raum_bezeichnung FROM [engomo].[dbo].[begehung_raume] WHERE [protokoll_id] = @protokoll_id; END ELSE BEGIN -- Es existieren keine Einträge, 1 zurückgeben SELECT 1 AS next_raum_id --'' AS raum_bezeichnung -- Leerer Wert für raum_bezeichnung END END ELSE IF @protokoll_id = '' BEGIN -- Abfrage ohne protokoll_ID, sortiert nach raum_id absteigend SELECT [protokoll_id] FROM [engomo].[dbo].[begehung_raume] END ```