如果@name存在,则选择ID,否则将@name插入表中

时间:2014-12-22 20:04:20

标签: sql sql-server

表如下所示:

CREATE TABLE names
(ID int,
 name varchar(10) unique)

我需要达到以下结果:

if @name not exists in names then insert into names (name) values (@name)
select id from names where name=@name

最好用用户定义的功能来实现它。

1 个答案:

答案 0 :(得分:2)

你基本上已经在你的问题中写了答案:

IF (NOT EXISTS (SELECT * FROM names WHERE name = @name))
    INSERT INTO names (name) values (@name);

SELECT id FROM names WHERE name = @name;

唯一的问题是,您尚未设置表names以使用IDENTITY列。这意味着您还需要为id分配值。