2017-02-21 1 views
0

Я создал функцию SQL Server так:Бросьте настроенную ошибку, когда больше символов, чем ожидалось, передаются в атрибуте функции SQL

function [schema].[function_name] 
    (@ids varchar(5)) 

но когда я называю это как с @ids атрибута с большим количеством символов, чем ожидается, например,

select * 
from db.schema.function_name('ABCDEFGHIJKLMNOPQRST') 

У меня нет ошибки. Как я могу сбросить настроенную ошибку в этом случае? Например, «вы прошли больше символов, чем ожидалось».

+0

Tag СУБД вы используете. Этот код специфичен для продукта. – jarlh

+0

использовать 'char', который ограничивает ввод – Firewizz

+0

@Firewizz это вызывает ошибку – aragorn

ответ

0

Это должно быть просто

create function dbo.test 
(
@id varchar(30) 
) 
returns varchar(30) 
as 
begin 
if len(@id)>10 
begin 
return 'Length exceeded' 
end 

return 1 

end 

Тестирование:

select dbo.test(replicate('a',14)) 

возвращает

Length exceeded 
Смежные вопросы