簡體   English   中英

MS SQL,如何使用錯誤更改/創建過程

[英]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.

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