如何將此邏輯轉換爲SQL語句?如果執行該變量失敗,則停止查詢 - SQL
IF @GrantSQL is successful, then continue to insert, if not stop query
這是存儲過程:
BEGIN
DECLARE @GrantSql NVARCHAR(500)
SET @GrantSql = 'EXEC sp_addsrvrolemember [' + @LoginName + '], ''sysadmin'''
EXEC sp_executesql @GrantSql
-- IF @GrantSQL is successful, then continue to insert, if not stop query
BEGIN
INSERT INTO....
END
END
在這種情況下,它的工作原理是因爲'sp_addsrvrolemember'只返回兩個值,但請注意存儲過程的返回類型是'INT ',而不是'BIT'。 – GarethD
@GarethD你是對的,我編輯了我的文章 –
除非你有很好的理由,否則不要使用。它佔用了一個完整的字節,並有其他各種問題。答案是正確的,我把它標記爲這樣,但是這個位幾乎總是用來炫耀,並且不像int那樣更高效。 –