0

我的數據庫中有大量存儲過程。所有設計都返回結果集。我遵循命名標準,所有關鍵字都是大寫因此,如果在SELECT語句中的任何一箇中有任何列名或表名作爲保留關鍵字,那麼這將是大寫。在SQL Server存儲過程中查找ColumnNames或TableNames作爲保留關鍵字

我想將這些UPPERCASE關鍵字轉換爲駱駝大小寫。

例如我的實際存儲過程之一:

CREATE PROCEDURE prc_getresults 
AS 
BEGIN 
    SELECT ZD.Id 
     ,ZD.NAME 
     ,ZD.TIMESTAMP 
     ,ZD.CreatedBy 
    FROM ZoneDetails ZD 
    INNER JOIN ZONE Z ON Z.Id = ZD.ZoneId 
END 

我的轉換後,預計代碼將是

CREATE PROCEDURE prc_getresults 
AS 
BEGIN 
    SELECT ZD.Id 
     ,ZD.Name 
     ,ZD.TimeStamp 
     ,ZD.CreatedBy 
    FROM ZoneDetails ZD 
    INNER JOIN Zone Z ON Z.Id = ZD.ZoneId 
END 

下面請看列名TimeStampName和表Zone

有大約700多個存儲過程。我無法打開每個代碼並手動編輯這些代碼。

請向我提供任何建議,以便更好地對數據庫中的所有存儲過程實施這些更改。

+0

您需要使用第三方工具來完成此操作。我最喜歡的格式化程序http://www.dpriver.com/dlaction.php –

回答

0

可以擴展下面的查詢您的需求,

SELECT DISTINCT 
     o.name AS Object_Name, 
     o.type_desc 
    FROM sys.sql_modules m 
     INNER JOIN 
     sys.objects o 
     ON m.object_id = o.object_id 
WHERE m.definition In ('%\[TimeStamp\]%', '%\[Name\]%', '%\[Zone\]%'); 
+0

我舉了一個例子,但實際上我必須檢查所有關鍵字.... – StackUser

+0

不可能使用T-SQL –

相關問題