Add engomo/sql.md
This commit is contained in:
45
engomo/sql.md
Normal file
45
engomo/sql.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user