2011-11-21 77 views
0

我在SQL Server 2008 R2的數據庫中有一個函數,它根據第一個參數調用另一個函數。函數的SQL Server訪問修飾符

像這樣:

SELECT dbo.usp_Function1( 'customerX',...)

這需要不同的功能usp_Function1CustomerX,這是具體到一個客戶。

事情是,我不希望任何人能夠從數據庫外部調用usp_Function1CustomerX

更確切的說:我不希望這個函數從visual studio或任何OR映射器的代碼中調用。這就像在SQL Server中爲我的函數使用(c#term)內部訪問修飾符一樣。

任何想法如何做到這一點?

謝謝, 羅伯特

EDIT從存儲過程更改示例起作用

+0

難道你不是指存儲過程?不起作用。在SQL Server中完全不同 – gbn

+0

你是對的,它們是不同的。我確實需要這兩個。我想我的例子可能會導致一些混淆 –

回答

0

溶液1

每個SP具有許可部,其可以修改以適應。

解決方案2

你可以設置了一個param添加到將內部檢查FUNC。

+0

我可能誤解了該函數的權限屬性:我可以指定一個數據庫角色(如public,guest或特定用戶)並設置權限,如alter,control ...等。我將如何能夠將可見性改變到外部? 解決方案2:您是否建議某種特定參數中的「魔術」值? –