写得基本正确 只是IF ELSE的语法不对。 我给你改了一下 CREATE PROCEDURE exec_address @count int,@address varchar(300) AS begin select @count=(SELECT count(id) FROM address WHERE (address = @address)) if @count>0 UPDATE address SET COUNT = COUNT + 1 WHERE address = @address else INSERT INTO address (address) VALUES (@address)end
多谢,但为什么还是不好用呢? 总是提示我在ELSE附近有语法错误.
不要用@count,因为它是查询出来的而不是输入参数 CREATE PROCEDURE exec_address @address as varchar(300) AS if (SELECT count(id) FROM address WHERE (address = @address))>0 UPDATE address SET COUNT = COUNT + 1 WHERE address = @address else INSERT INTO address (address) VALUES (@address)
只是IF ELSE的语法不对。
我给你改了一下
CREATE PROCEDURE exec_address
@count int,@address varchar(300)
AS
begin
select @count=(SELECT count(id) FROM address WHERE (address = @address))
if @count>0
UPDATE address SET COUNT = COUNT + 1 WHERE address = @address
else
INSERT INTO address (address) VALUES (@address)end
总是提示我在ELSE附近有语法错误.
CREATE PROCEDURE exec_address
@address as varchar(300)
AS
if (SELECT count(id)
FROM address WHERE (address = @address))>0
UPDATE address SET COUNT = COUNT + 1 WHERE address = @address
else
INSERT INTO address (address) VALUES (@address)