[英]MS SQL, How to ALTER/ CREATE procedure with error
我需要創建包含錯誤的過程。 例如
CREATE PROCEDURE dbo.test
AS
BEGIN
SET NOCOUNT ON;
SELECT *
FROM openquery(LINKED, 'select * from something'' ')
END
GO
在sys.servers中找不到服務器“鏈接”
遇到任何錯誤(不存在linkedserver或在openquery中選擇返回錯誤)時,如何創建它?
您可以使用動態SQL來避免鏈接服務器驗證。 現在,您將在執行而不是編譯時收到鏈接服務器錯誤。 我個人認為動態SQL並不是一個很好的解決方案,但是它可以解決您的問題。
CREATE PROCEDURE dbo.test
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sqlCommand NVARCHAR(MAX);
SET @sqlCommand = 'SELECT *
FROM openquery(LINKED, ''select * from something'''' '')';
EXEC (@sqlCommand)
END
GO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.