我很難找到語句的語法(或者甚至可能)。如何在/ if中運行選擇SQL語句?
我們正在運行SQL Server 2005,我想這樣做:
IF ((SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1) then INSERT INTO mytable VALUES ('myid', 3)
有什麼建議?由於
我很難找到語句的語法(或者甚至可能)。如何在/ if中運行選擇SQL語句?
我們正在運行SQL Server 2005,我想這樣做:
IF ((SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1) then INSERT INTO mytable VALUES ('myid', 3)
有什麼建議?由於
IF ((SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1)
BEGIN
INSERT INTO mytable VALUES ('myid', 3)
END
,或者您可以使用NOT EXISTS
IF NOT EXISTS (SELECT * FROM mytable WHERE userid = 'myid' AND value = 3)
DECLARE @COUNT int
SET @COUNT=(SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3)
IF (@COUNT < 1)
BEGIN
INSERT INTO mytable VALUES ('myid', 3)
END
你可以試試這個做在一個聲明:
INSERT INTO mytable
SELECT 'myid', 3
WHERE (SELECT count(*) FROM mytable WHERE userid = 'myid' AND value = 3) < 1
的'不EXISTS'正是我期待的,謝謝! – 2010-06-29 12:55:45