2013-11-28 3 views
0

Это мой SQL функция:как вызвать функцию SQL жереха страницу, чтобы заполнить столбец таблицы

create function [dbo].[Book_id](@id int) 
returns char(12) 
as begin 
return 'BK00ID' + right('00000' + covert (varchar(10), @id),5) 
end 

Я создал эту функцию, потому что я хочу, когда я когда-либо войти другой столбец таблицы столбца Book_id автоматически заполненным , У меня также есть столбец идентификатора (id), который автоматически увеличивается. Например: когда столбец идентификатора равен 1, то столбец Book_id должен быть BK00ID000001. Или есть ли другой способ, чтобы эта функция автоматически вызывалась без вызова страницы asp?

ответ

0

Предполагая, что SQL Server можно использовать вычисленный столбец в таблице, который имеет то же определение, что и в вашей функции 'BK00ID' + right('00000' + convert (varchar(10), @id),5); это автоматически будет установлено в таблице, когда запись будет сохранена (хотя, если вы когда-либо изменили значение идентификатора, тогда значение этих столбцов изменилось бы с ним - если бы вы этого не хотели, вы могли бы сделать это значением по умолчанию вместо).

+0

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

+0

Когда вы определяете свой столбец в таблице, вместо указания типа данных укажите расчет, который будет использоваться. http://technet.microsoft.com/en-us/library/ms191250(v=SQL.105).aspx –

+0

извините за неудобство. но сэр я видел, что есть опция ниже как вычисленный столбец. Но я не знаю, как дать определение этому. Существует две формулы и описание варианта. что должно написать тогда, пожалуйста, помогите мне –

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