我有一个问题,我完全被难过了。内容如下:
编写一个导入存储过程,该过程从表(源)获取信息并将其写入另一个表(目标)。
我猜它看起来像下面这样:
create procedure add_data(@name, @surname)
AS
BEGIN
SELECT name, surname
FROM cardholder
INSERT INTO new_table
values (name, surname)
我的逻辑是正确还是完全错过了?
答案 0 :(得分:1)
你快到了。由于您是直接从一个表复制到另一个表,因此您可以使用INSERT INTO ... SELECT ...
惯用语,如下所示:
create procedure add_data
@name varchar(100)
@surname varchar(100)
AS
BEGIN
INSERT INTO new_table(name,surname)
SELECT name, surname
FROM cardholder
END
请注意我所做的两项更改:
values
子句应包含要插入的实际值。由于您要插入从表中检索的数据而不是固定值,因此请使用select
查询。答案 1 :(得分:0)
这是不正确的。尝试dis
create procedure add_data
(
@name varchar(100),
@surname varchar(100)
)
AS
BEGIN
INSERT INTO target
SELECT name, surname
FROM cardholder
end
答案 2 :(得分:0)
请尝试以下代码。
create procedure add_data(@name VARCHAR(10), @surname VARCHAR(10))
AS
BEGIN
INSERT INTO new_table(name, surname)
SELECT name, surname
FROM cardholder
END
它会将数据从一个表插入到另一个表中,因此在输出中,参数传递的内容只会简单明了地插入到新表中。