sql 存储过程的调用
两个存储过程(sql1,sql2),sql1这个存储过程就是一个查询语句。sql2怎么调用sql1这个存储过程,使得通过执行sql2,使从SQL1中查询出来的数据导入到S...
两个存储过程(sql1,sql2),sql1这个存储过程就是一个查询语句。sql2怎么调用sql1这个存储过程,使得通过执行sql2,使从SQL1中查询出来的数据导入到SQL2指定的表中。
假设表是人员表1(人员代码,人员姓名)需要导入到人员表2(人员代码,人员姓名)中
我这只是一个举例,具体的表有几千万条记录,是两个软件之间数据库之间的数据的传递。为了不影响提供数据方软件的速度,数据方提出他们可以提供我所需要数据的存储过程,我这边再以存储过程的方式,调用他们提供的存储过程,把数据导入到我这边的数据库中.给出答案的麻烦你自己测试一下行不行,我自己觉得可能要用上游标,具体怎么用 我不知道. 像 insert into biao (字段1,字段2)
exec 存储过程1.这样的恐怕不行,没这么简单 展开
假设表是人员表1(人员代码,人员姓名)需要导入到人员表2(人员代码,人员姓名)中
我这只是一个举例,具体的表有几千万条记录,是两个软件之间数据库之间的数据的传递。为了不影响提供数据方软件的速度,数据方提出他们可以提供我所需要数据的存储过程,我这边再以存储过程的方式,调用他们提供的存储过程,把数据导入到我这边的数据库中.给出答案的麻烦你自己测试一下行不行,我自己觉得可能要用上游标,具体怎么用 我不知道. 像 insert into biao (字段1,字段2)
exec 存储过程1.这样的恐怕不行,没这么简单 展开
展开全部
--F5
--title
--两个存储过程(sql1,sql2),sql1这个存储过程就是一个查询语句。
--sql2怎么调用sql1这个存储过程,使得通过执行sql2,
--使从SQL1中查询出来的数据导入到SQL2指定的表中。
--假设表是人员表1(人员代码,人员姓名)需要导入到人员表2(人员代码,人员姓名)中
--创建测试表对应人员表1
create table 人员表1
(
人员代码 varchar(20),
人员姓名 varchar(20)
)
--创建测试表对应人员表2
create table 人员表2
(
人员代码 varchar(20),
人员姓名 varchar(20)
)
--插入测试数据
insert into 人员表1
select 'ZJL','周杰伦'
union
select 'XTF','谢霆锋'
union
select 'CYL','蔡依林'
union
select 'ZXC','周星驰'
--查看数据
select * from 人员表1
go
--创建sql1
create proc sql1
as
begin
select * from 人员表1 where 人员姓名 like '周%'
end
go
--创建sql2
create proc sql2
as
begin
--关键的地方
--原型 insert into 表名
------ exec 存储过程
insert into 人员表2
exec sql1
end
go
sql1
go
sql2
--title
--两个存储过程(sql1,sql2),sql1这个存储过程就是一个查询语句。
--sql2怎么调用sql1这个存储过程,使得通过执行sql2,
--使从SQL1中查询出来的数据导入到SQL2指定的表中。
--假设表是人员表1(人员代码,人员姓名)需要导入到人员表2(人员代码,人员姓名)中
--创建测试表对应人员表1
create table 人员表1
(
人员代码 varchar(20),
人员姓名 varchar(20)
)
--创建测试表对应人员表2
create table 人员表2
(
人员代码 varchar(20),
人员姓名 varchar(20)
)
--插入测试数据
insert into 人员表1
select 'ZJL','周杰伦'
union
select 'XTF','谢霆锋'
union
select 'CYL','蔡依林'
union
select 'ZXC','周星驰'
--查看数据
select * from 人员表1
go
--创建sql1
create proc sql1
as
begin
select * from 人员表1 where 人员姓名 like '周%'
end
go
--创建sql2
create proc sql2
as
begin
--关键的地方
--原型 insert into 表名
------ exec 存储过程
insert into 人员表2
exec sql1
end
go
sql1
go
sql2
展开全部
在sql2中调用sql1用 exec sql1就行了。
使从SQL1中查询出来的数据导入到SQL2指定的表中。是什么意思呢?
如果sql2只是指定个表明,然后作为sql1的参数,由sql1执行,是可以的。但是。sql1无法将结果集返回给sql2,如果你真想返回,那么可以将sql1改成一个自定义函数,返回一个表即可。
此外,你只是要把表1的数据导入到表2,有必要这么麻烦吗?
你直接 insert into 表2 select * from 表1 就可以了。搞2个存储过程有什么别的作用?
使从SQL1中查询出来的数据导入到SQL2指定的表中。是什么意思呢?
如果sql2只是指定个表明,然后作为sql1的参数,由sql1执行,是可以的。但是。sql1无法将结果集返回给sql2,如果你真想返回,那么可以将sql1改成一个自定义函数,返回一个表即可。
此外,你只是要把表1的数据导入到表2,有必要这么麻烦吗?
你直接 insert into 表2 select * from 表1 就可以了。搞2个存储过程有什么别的作用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create proc sp1
as
begin
select * from 人员表1
end
create proc sp2
as
begin
insert 人员表2(人员代码,人员姓名)
exec sp1
end
as
begin
select * from 人员表1
end
create proc sp2
as
begin
insert 人员表2(人员代码,人员姓名)
exec sp1
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以把sql1 作为一一个参数传给sql2咯
这样你在sql2中直接 exec 参数名 就可以调用了
或者直接在sql2中 要调用sql1的时候直接 exec sql1就行
这样你在sql2中直接 exec 参数名 就可以调用了
或者直接在sql2中 要调用sql1的时候直接 exec sql1就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询