小编Don*_*nes的帖子

如何在SQL Server中强制nvarchar输入宽度?

我有一个我为我们的生产线创建的脚本,用户在执行之前将一些变量输入到脚本中.问题是变量是NVARCHAR(9),如果用户输入10个字符,那么最后一个字符被切断(正如预期的那样)我想知道的是如果输入一个值,我怎么能让SQL抛出一个错误太长?这个问题源于用户指责他们的输入.例:

Valid input - 
DECLARE @ClientCode NVARCHAR(9)
SET @ClientCode = N'ABCDEFGHI'
SELECT  @ClientCode

Results
ABCDEFGHI
Run Code Online (Sandbox Code Playgroud)

输入无效 -

DECLARE @ClientCode NVARCHAR(9)
SET @ClientCode = 'ABCDDEFGHI'
SELECT @ClientCode

Results
ABCDDEFGH
Run Code Online (Sandbox Code Playgroud)

我希望的是一个SSMS会引发错误的设置.我希望避免的是 -

DECLARE @ClientCode NVARCHAR(50)
...

IF LEN(@ClientCode) > 9
RAISERROR('Too long dummy.',16,1)
Run Code Online (Sandbox Code Playgroud)


谢谢你的帮助

sql-server error-handling nvarchar

5
推荐指数
1
解决办法
470
查看次数

标签 统计

error-handling ×1

nvarchar ×1

sql-server ×1