Files
Fuchs_Intranet/Fuchs_Database/dbo/Stored Procedures/mfr__updt__items.sql
T
Stefan 10ecdfa2e4 Add Fuchs_Database SSDT project (schema source of truth)
Adds the SQL Server Data Tools project for the fuchs_fds database — tables,
table types, functions and stored procedures that the backend calls (e.g.
fds__getInvoice, fds__merge_bankingtransactions, fds__tt__bankingtransactions,
fds__admin_getReportCatalog, fis_* auth). Build/model caches (bin, obj,
*.dbmdl, *.jfm, *.user) are git-ignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:50:54 +02:00

99 lines
2.6 KiB
Transact-SQL

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[mfr__updt__items]
@tblname as nvarchar(50)
, @referencetable nvarchar(50)
, @tgtid bigint
AS
BEGIN
SET NOCOUNT ON;
DECLARE @tmp [dbo].[mfr__tt__items];
DECLARE @tmp_cmd nvarchar(1000) = N'SELECT DISTINCT * FROM ' + @tblname
INSERT INTO @tmp EXECUTE [sp_executesql] @tmp_cmd;
MERGE [dbo].[mfr__items] as TARGET
USING @tmp as SOURCE ON TARGET.[Id] = SOURCE.[Id]
WHEN MATCHED AND (TARGET.[Version] <= SOURCE.[Version]) THEN
UPDATE
SET [Id] = SOURCE.[Id]
,[Version] = SOURCE.[Version]
,[QuantityHours] = SOURCE.[QuantityHours]
,[PlannedQuantityHours] = SOURCE.[PlannedQuantityHours]
,[ItemTypeId] = SOURCE.[ItemTypeId]
,[ItemNumber] = SOURCE.[ItemNumber]
,[TrackingId] = SOURCE.[TrackingId]
,[Manufacture] = SOURCE.[Manufacture]
,[Price] = SOURCE.[Price]
,[Costs] = SOURCE.[Costs]
,[NameOrNumber] = SOURCE.[NameOrNumber]
,[CustomValues] = SOURCE.[CustomValues]
,[Note] = SOURCE.[Note]
,[ExternalId] = SOURCE.[ExternalId]
,[Discount] = SOURCE.[Discount]
,[VAT] = SOURCE.[VAT]
,[IsManual] = SOURCE.[IsManual]
,[SortOrder] = SOURCE.[SortOrder]
,[Type] = SOURCE.[Type]
,[ServiceRequestId] = SOURCE.[ServiceRequestId]
,[ServiceObjectId] = SOURCE.[ServiceObjectId]
,[CreatorId] = SOURCE.[CreatorId]
,[UnitId] = SOURCE.[UnitId]
,[UnitString] = SOURCE.[UnitString]
WHEN NOT MATCHED BY TARGET THEN
INSERT
( [Id]
,[Version]
,[QuantityHours]
,[PlannedQuantityHours]
,[ItemTypeId]
,[ItemNumber]
,[TrackingId]
,[Manufacture]
,[Price]
,[Costs]
,[NameOrNumber]
,[CustomValues]
,[Note]
,[ExternalId]
,[Discount]
,[VAT]
,[IsManual]
,[SortOrder]
,[Type]
,[ServiceRequestId]
,[ServiceObjectId]
,[CreatorId]
,[UnitId]
,[UnitString])
VALUES
(SOURCE.[Id]
,SOURCE.[Version]
,SOURCE.[QuantityHours]
,SOURCE.[PlannedQuantityHours]
,SOURCE.[ItemTypeId]
,SOURCE.[ItemNumber]
,SOURCE.[TrackingId]
,SOURCE.[Manufacture]
,SOURCE.[Price]
,SOURCE.[Costs]
,SOURCE.[NameOrNumber]
,SOURCE.[CustomValues]
,SOURCE.[Note]
,SOURCE.[ExternalId]
,SOURCE.[Discount]
,SOURCE.[VAT]
,SOURCE.[IsManual]
,SOURCE.[SortOrder]
,SOURCE.[Type]
,SOURCE.[ServiceRequestId]
,SOURCE.[ServiceObjectId]
,SOURCE.[CreatorId]
,SOURCE.[UnitId]
,SOURCE.[UnitString]);
END