52 lines
2.2 KiB
Transact-SQL
52 lines
2.2 KiB
Transact-SQL
SET ANSI_NULLS ON;
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.ManuscriptStructuralChapterSources', N'StructuralParsedJson') IS NULL
|
|
ALTER TABLE dbo.ManuscriptStructuralChapterSources ADD StructuralParsedJson nvarchar(max) NULL;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.ManuscriptStructuralChapterSources', N'DefaultPovName') IS NULL
|
|
ALTER TABLE dbo.ManuscriptStructuralChapterSources ADD DefaultPovName nvarchar(200) NULL;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.ManuscriptStructuralChapterSources', N'ExplicitNarratorName') IS NULL
|
|
ALTER TABLE dbo.ManuscriptStructuralChapterSources ADD ExplicitNarratorName nvarchar(200) NULL;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.ManuscriptStructuralChapterSource_Save
|
|
@ChapterID int,
|
|
@ProjectID int,
|
|
@BookID int,
|
|
@SourceText nvarchar(max),
|
|
@SourceWordCount int,
|
|
@SourceCharacterCount int,
|
|
@ParagraphMapJson nvarchar(max) = NULL,
|
|
@StructuralParsedJson nvarchar(max) = NULL,
|
|
@DefaultPovName nvarchar(200) = NULL,
|
|
@ExplicitNarratorName nvarchar(200) = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
MERGE dbo.ManuscriptStructuralChapterSources AS target
|
|
USING (SELECT @ChapterID AS ChapterID) AS source
|
|
ON target.ChapterID = source.ChapterID
|
|
WHEN MATCHED THEN
|
|
UPDATE SET ProjectID = @ProjectID,
|
|
BookID = @BookID,
|
|
SourceText = @SourceText,
|
|
SourceWordCount = @SourceWordCount,
|
|
SourceCharacterCount = @SourceCharacterCount,
|
|
ParagraphMapJson = @ParagraphMapJson,
|
|
StructuralParsedJson = COALESCE(@StructuralParsedJson, StructuralParsedJson),
|
|
DefaultPovName = COALESCE(NULLIF(LTRIM(RTRIM(@DefaultPovName)), N''), DefaultPovName),
|
|
ExplicitNarratorName = COALESCE(NULLIF(LTRIM(RTRIM(@ExplicitNarratorName)), N''), ExplicitNarratorName),
|
|
UpdatedUtc = SYSUTCDATETIME()
|
|
WHEN NOT MATCHED THEN
|
|
INSERT (ChapterID, ProjectID, BookID, SourceText, SourceWordCount, SourceCharacterCount, ParagraphMapJson, StructuralParsedJson, DefaultPovName, ExplicitNarratorName)
|
|
VALUES (@ChapterID, @ProjectID, @BookID, @SourceText, @SourceWordCount, @SourceCharacterCount, @ParagraphMapJson, @StructuralParsedJson, NULLIF(LTRIM(RTRIM(@DefaultPovName)), N''), NULLIF(LTRIM(RTRIM(@ExplicitNarratorName)), N''));
|
|
END;
|
|
GO
|