簡體   English   中英

如何在數據庫中查詢返回特定名稱的字段/列值的任何存儲過程?

[英]How can I query my Database for any Stored Proc that returns a field/column value of a specific name?

我想查詢數據庫的元數據中是否有任何存儲過程,這些存儲過程從名為“ bidprice”的字段或列中返回值

我有一個很好的答案在這里了解如何搜索需要一組特定的參數,即對於有冠名單位,會員,BegDate,日期和結束日期,該參數存儲的特效存儲的特效:

; WITH T AS (SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@Unit'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@Member'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@BegDate'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@EndDate')
SELECT [specific_name] 
FROM T
GROUP BY [specific_name] HAVING COUNT(*) = 4

那很好用; 因此,我希望也許可能需要找到返回特定名稱的字段/列值(例如“ bidprice”)的存儲過程,就像下面這樣簡單:

; SELECT [specific_name] FROM information_schema.COLUMNS WHERE [COL_NAME] = "bidprice"
FROM T

...但是在Visual Studio.Server Explorer中嘗試一下(右鍵單擊數據庫連接的Tables文件夾,然后選擇New Query),我得到:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'FROM'.

這種類型的查詢的[specific_name]錯誤嗎? 這種查詢類型是否為COLUMNS或[COL_NAME]?

我還嘗試通過這種方式簡化查詢:

; SELECT [specific_name] FROM information_schema.COLUMNS WHERE [COL_NAME] = "bidprice"

...但是得到:

Msg 207, Level 16, State 1, Line 1
Invalid column name 'COL_NAME'.
Msg 207, Level 16, State 1, Line 1
Invalid column name 'bidprice'.
Msg 207, Level 16, State 1, Line 1
Invalid column name 'specific_name'.

(和刪除前置的“;”時的錯誤完全相同)

什么是搜索在結果集中返回的存儲過程(其中包括/除其他以外)名為“ bidprice”的字段/列的正確方法?

您可以使用sp_describe_first_result_set返回sp_describe_first_result_set批處理中的元數據。 看看https://msdn.microsoft.com/zh-cn/library/ff878602%28v=sql.110%29.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM