我有一個關於使用SQL Server存儲過程的問題,2005年「和」「或者使用SQL Server存儲過程」條件
這是我的存儲過程:
ALTER PROCEDURE [dbo].[tst_user_sp]
-- Add the parameters for the stored procedure here
@p1 nvarchar = null,
@p2 nvarchar = null AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT state
FROM tst_user
WHERE user_id = @p1 AND user_pwd = @p2;
END
我的預期輸出以獲得'國家'的價值。它返回了一個空記錄。
但是,在將And
更改爲Or
後,我得到了輸出。爲什麼我不能使用And
獲得輸出?
我的SQL查詢:
exec tst_user_sp 'lackh', 's'
您是否有正確的數據返回'和'語句? – Sefa 2015-02-09 12:42:15
有沒有聽說過真值表? http://en.wikipedia.org/wiki/Truth_table – IROEGBU 2015-02-09 12:42:19
因爲沒有行同時擁有'user_id'和'user_pwd'。因此,存儲過程不返回任何內容。 – 2015-02-09 12:43:00