/ / SQL Server: какво може да направи една съхранена процедура, че определена от потребителя функция не може? - sql-сървър, съхранени процедури, sql-server-2000, дефинирани от потребителя функции

SQL Server: какво може да направи една съхранена процедура, че функцията, дефинирана от потребителя, не може? - sql-сървър, съхранени процедури, sql-server-2000, дефинирани от потребителя функции

Можете ли да ми кажете каква е необходимостта от запомнена процедура, когато има UDF?

Отговори:

2 за отговор № 1

Върху горната част на главата ми, запомнената процедура може да направи следното, което СДС не може да направи:

1) Промяна на данните

2) Връщате набор от резултати на клиент

3) Извършвайте недетерминистична дейност


1 за отговор № 2

Може да се извърши процедура DML, функция не може.

По принцип функцията е предназначена да бъде използвана като част от заявката, докато запаметената процедура е партида SQL изявленията се изпълняват заедно, като се прилага някаква бизнес логика, евентуално с различни идентификационни данни.


1 за отговор № 3

Функцията не може директно да променя или актуализира функциятабаза данни по какъвто и да е начин, или чрез изрази DML (INSERT, UPDATE, DELETE, ect) или изрази DDL (CREATE TABLE и др.). Той също така не може да направи нищо, което би довело непряко до промени в базата данни, като например изпълнение на ad hoc SQL изрази (от всякакъв вид) или изпълнение на запомнени процедури.


1 за отговор № 4

Една ключова разлика е, че UDF винаги имат изход от фиксирана схема, като запомнените процедури могат да доведат до произволен брой набора от резултати в произволен формат.


0 за отговор № 5

Sprocs се използват за връщане на изход към приложение. A UDF връща таблична променлива.