Вы правы в отношении более старых IDE
Как администратор БД, пытаясь исправить разрешения с помощью SQL Server Enterprise Manager (SQL Server 2000 и 7.0), он полностью завершил попытку просмотра разрешений.Если у вас был ufn, usp или vw, стало легче группировать вещи из-за того, как GUI представил данные.Вид или стол?Он может работать для вас как для разработчика, но при развертывании он будет зависать, потому что вы не предоставляете разрешения для самой таблицы: только для представлений или процедур.Конечно, vwThing
снизит ваше кровяное давление ...?
Если вы используете схемы, это становится неактуальным.Вы можете «пространство имен» ваших объектов.Например, таблицы в «Данные» и другие объекты для каждого клиента в других схемах, например, WebGUI
Редактировать:
Функция.У вас есть табличные и скалярные функции.Если вы придерживаетесь концепции кода «VerbNoun», как вы узнаете, что есть, что без какой-либо другой подсказки.(конечно, это не может произойти, потому что имена объектов уникальны)
SELECT dbo.GetName() FROM MyTable
SELECT * FROM dbo.GetName()
Если вы используете множественное число для обозначения табличной функции, это, вероятно, хуже
SELECT dbo.GetName() FROM MyTable
SELECT * FROM dbo.GetNames()
Принимая во внимание, чтоэто менее двусмысленно, хотя и оскорбительно для некоторых людей; -)
SELECT dbo.sfnGetName() FROM MyTable
SELECT * FROM dbo.tfnGetName()
Со схемами.И никакой двусмысленности имени.
SELECT ScalarFN.GetName() FROM MyTable
SELECT * FROM TableFN.GetName()
Ваш комментарий «на любом другом языке» не применим.SQL не структурирован как c #, Java, f #, Ada (хорошо, PL / SQL может быть), VBA, как угодно: нет иерархии объектов или пространств имен.Нет Object.DoStuff
метод материала.
Префикс может быть именно тем, чтобы держать вас в здравом уме ...