-2

我有 3 张桌子:

CREATE TABLE employee(
presismail varchar(50) NOT NULL,
name varchar (50),
lastname varchar (50),
CONSTRAINT presismail PRIMARY KEY (presismail))

CREATE TABLE users(
usermail varchar(50)NOT NULL,
nomail varchar (2),
CONSTRAINT usermail PRIMARY KEY (usermail))


CREATE TABLE assignment(
presismail varchar(50)NOT NULL,
usermail varchar(50)NOT NULL,
senddates varchar (20)NOT NULL,
answervalue varchar (3),
receivedates varchar (20)
CONSTRAINT PK_assignment PRIMARY KEY (presismail, usermail, senddates),
FOREIGN KEY (presismail) REFERENCES employee(presismail),
FOREIGN KEY (usermail) REFERENCES users(usermail))

我想创建一个存储过程,将值添加到已选择的 2 列中。

insert into assignment(answervalue, receivedates)
values (@answervalue, @receivedates)
select answervalue, receivedates
from assignment
where presismail = @presismail
and usermail = @usermail
and senddates = @senddates

我怎样才能做到这一点?

4

2 回答 2

1

我认为您想更新现有记录,

UPDATE assignment
SET    answervalue = @answervalue, 
       receivedates = @receivedates
WHERE  presismail = @presismail
       AND usermail = @usermail
       AND senddates = @senddates
于 2013-09-23T12:36:43.030 回答
1

尝试这个。

insert into assignment(answervalue, receivedates) 
select answervalue, receivedates 
from assignment 
where --------
于 2013-09-23T12:36:45.430 回答