Я хочу добавить проверку в столбце базы данных, чтобы люди, которые вводят в нее данные, были заглавными и обрезаны - PullRequest
0 голосов
/ 17 мая 2019

Ситуация такова: у меня есть столбец в таблице базы данных, где люди вводят данные, используя сценарии SQL напрямую (без какой-либо веб-страницы).

Я хочу наложить ограничение на этот столбец, чтобы гарантировать, что кто-то входитданные обрезаются и пишутся с заглавной буквы, в противном случае он не должен их принимать.

Или он должен делать это автоматически.

С уважением.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Попробуйте это. Замените «myTableName» на имя вашей таблицы. Замените «myColumnName» на имя вашего столбца. ПРИМЕЧАНИЕ. UpperCaseCheck - это имя ограничения, а также DataLenCheck.

--UpperCaseCheck 

        ALTER TABLE myTableName
            ADD CONSTRAINT UpperCaseCheck CHECK(myColumnName = UPPER(myColumnName) COLLATE Latin1_General_CS_AS);

      -- DataLenCheck constraint  

        ALTER TABLE myTableName
        ADD CONSTRAINT DataLenCheck CHECK(DataLength(myColumnName) = DataLength(Rtrim(LTrim(myColumnName))))

    -- Instead of two constraint, we can use only one

    ALTER TABLE myTableName
    ADD CONSTRAINT UpperCaseCheckAndDataLenCheck CHECK(myColumnName = UPPER(myColumnName) COLLATE Latin1_General_CS_AS
    AND DataLength(myColumnName) = DataLength(LTrim(Rtrim(myColumnName))))
0 голосов
/ 17 мая 2019

SQL Server 2017

select upper(trim(@param_name))

Старые версии

select upper(rtrim(ltrim(@param_name)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...