我有一个为我们的生产线创建的脚本,用户在执行之前将一些变量输入到脚本中。问题是变量是 NVARCHAR(9),如果用户输入一个 10 个字符的字符串,最后一个字符被截断(如预期的那样)我想知道的是,如果他们输入一个值,我如何让 SQL 抛出错误太长?这个问题源于用户对输入的过度指法。例子:
Valid input -
DECLARE @ClientCode NVARCHAR(9)
SET @ClientCode = N'ABCDEFGHI'
SELECT @ClientCode
Results
ABCDEFGHI
输入无效 -
DECLARE @ClientCode NVARCHAR(9)
SET @ClientCode = 'ABCDDEFGHI'
SELECT @ClientCode
Results
ABCDDEFGH
我希望的是一个会让 SSMS 引发错误的设置。我希望避免的是 -
DECLARE @ClientCode NVARCHAR(50)
...
IF LEN(@ClientCode) > 9
RAISERROR('Too long dummy.',16,1)
谢谢你的帮助