Это сводит меня с ума, и я уверен, что ответ так прост.
У меня есть несколько схем, каждая из которых имеет вид с именем «Задача». Я хочу создать один сохраненный процесс, чтобы пользователи, работающие в нескольких схемах по умолчанию, могли успешно выполняться - этот сохраненный процесс делает выбор в представлении задач.
Так скажи, у меня есть следующие объекты:
View: fr.Task (пользователи со схемой по умолчанию 'fr' получают это, если они просто набирают "select * from Task")
Просмотр: de.Task (то же самое, но для пользователей со схемой по умолчанию 'de')
StoredProc: dbo.MyProc - все пользователи имеют разрешения на выполнение. Процесс просто:
select count(*) from Task
Теперь я ожидал (и я хочу), что если бы пользователь со схемой по умолчанию 'fr' сделал
exec dbo.MyProc
Тогда они получат количество строк из представления fr.Task. Но вместо этого они получают ошибку «Неверное имя объекта« Задача ».
Разве невозможно создать общий хранимый процесс, который будет выполнять выборку в схеме работающего пользователя?
Thx,
Билл