Измените функцию с SCHEMABINDING, используемой в качестве формулы для вычисляемого поля с индексом

Предоставляется метод newLine (), который использует собственное понятие разделителя строк в платформе, как определено в системном свойстве line.separator. Не все платформы используют символ новой строки ('\n') для завершения строк. Поэтому вызов этого метода для завершения каждой выходной строки предпочтительнее писать символ новой строки напрямую.

bw.newLine();

Источник: http://docs.oracle.com/javase/7/docs/api /java/io/BufferedWriter.html

1
задан Zohar Peled 16 January 2019 в 15:36
поделиться

1 ответ

Вы можете удалить столбец, изменить функцию и добавить столбец обратно:

ALTER TABLE [dbo].[TestTable]
    DROP COLUMN [Test];

GO

ALTER FUNCTION [dbo].[MyFunctionTest]
(
    @foo int
)
RETURNS int
WITH SCHEMABINDING
AS
BEGIN
    RETURN @foo * 2
END
GO

ALTER TABLE [dbo].[TestTable]
    ADD [Test] AS ([dbo].[MyFunctionTest]([Foo])) PERSISTED

Создание новой функции также будет означать, что вам нужно удалить столбец и добавить его обратно, так как вычислено столбцы не могут быть изменены .

0
ответ дан Zohar Peled 16 January 2019 в 15:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: