Детерминистични и не-детерминирани функции
Детерминистични функции всеки път, когато се върнат същия резултат, ако те дават един и същ набор от стойности за въвеждане и използване на една и съща държава база данни. Nondeterministic функции могат да се завръщат различни резултати всеки път, дори и да им се предоставят и същ набор от стойности за въвеждане и използване на една и съща държава база данни.
дефинирани от потребителя функции имат няколко свойства, които определят способността на SQL Server индекс Database Engine ядро, като функция на индексите с помощта на изчислените колони, което води до функцията и използване индексирани изгледи, които се свързват с нея. Детерминизъм функции - една от тези свойства. Така например, в представителството не можете да създадете струпани индекс, ако това се отнася за всеки не-детерминирана функция. За повече информация за свойствата на функции, включително детерминизъм, вижте. В правилата на раздел за писане на дефинирани от потребителя функции.
Този раздел описва детерминизъм вградени функции на системата и тяхното въздействие върху имот детерминизъм на потребителски дефинирани функции, ако той съдържа призив за разширени съхранени процедури.
Всички статистически данни и низ вградени детерминирани функции. Списъкът на тези функции могат да бъдат намерени. В раздел статистически функции (Transact-SQL) и низови функции за (Transact-SQL).
Следващите вградени функции, които са различни от статистическите функции и низ, винаги определени.
Функции, които призовават разширени съхранени процедури, които не са детерминирани, защото удължава съхранена процедура може да има нежелани ефекти върху базата данни. Странични ефекти - тя се променят глобалния състоянието на базата данни като таблица за актуализиране, външна мрежа ресурс или файл. Например, тези действия могат да включват промени във файла, или да изпратите съобщение по електронната поща. Когато се обаждате на съхранената процедура от разширен потребителски дефинирана функция не трябва да разчитат на факта, че последователен набор резултат се връща. Не се препоръчва да се прилага потребителски дефинирани функции, които имат странични ефекти върху базата данни.
Когато се обадите функция на разширени съхранени процедури не могат да се върнат в резултат набор на клиента. API интерфейс на всеки отворен услуга за данни, която връща резултат набор на клиента, ще бъде FAIL код на връщане.
Разширен съхранена процедура може да се свърже обратно към SQL Server. Процедурата обаче не може да се присъедини към една и съща транзакция като основната й функция, която се нарича разширена съхранена процедура.
По същия начин, призовава от партида или съхранена процедура, удължен съхранена процедура се изпълнява в контекста на защитата на потребителя предвид Microsoft Windows, като използвате следната SQL Server. Собственикът на удължен съхраняват процедура трябва да вземат това предвид при издаване на разрешение за извършване на тази процедура на другите потребители.
основни понятия
други ресурси
Помощ и поддръжка
промени- Добавена информация за описанието на функцията CONVERT, обяснявайки, че използването на КОНВЕРТИРАНЕ води до детерминирани резултати, ако на изходния или целевия вид - не дата и час или smalldatetime. е определен низ от знаци и nondeterministic стил - друга изходния или целевия тип.
- Също така обясни какво стилове са детерминирана и не-детерминирана.
добавяне на общността
Показване: наследени Защитена
Беше ли ви полезна тази страница? Да Не
напуснали 1500 символа
Благодарим Ви! Благодарим Ви за преглед. Вашето мнение е много важно за нас.