当前位置:首页 » 服务存储 » 如何复制别人的存储过程
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何复制别人的存储过程

发布时间: 2022-03-15 02:43:07

Ⅰ 怎么一次把数据库里的存储过程 一次拷贝到另外一个数据库【sqlserver 2005】

在数据库上点击右键,在菜单中依次选择:任务.生成脚本,按向导一步一步,把存储过程导出来,生成脚本,在另外一个数据库中执行导出的脚本

Ⅱ 怎样将一个数据库中的存储过程复制到另一个数据库中

把数据库里面的所有存储过程另存为SQL,然后在另外一个数据库里重新运行这个SQL生成就可以了,但前提是另一个数据库里的表跟原来是一样的,不然执行时候存储过程会报错

Ⅲ sql server 2008怎么复制存储过程

你可以打开microsoft sql server management studio 然后点“新建查询”在里面直接写脚本,创建完后执行即可。
也可以在在microsoft sql server management studio找开的窗口左边找到要建立过程的数据库,然后找到存储过程右击“新建存储过程”,此时会自动新增一个查询,里面会有一些建立存储过程的格式代码

Ⅳ plsql developer 中如何复制存储过程

在plsql developer中SQL窗口中,输入你的那个存储过程的名字,然后按住CTRL键,用鼠标点击过程名字,就看到过程的远代码了,后续你的操作,你懂的

Ⅳ 如何导出存储过程

SQL存储过程的导出导入 SqlServer存储过程的导出导入
打开“企业管理器”,选择需要导出存储过程的数据库,按右键,选择“所有任务”,打开“生成SQL脚本”

打开“生成SQL脚本”窗口,点击“全部显示”按钮


选择“全部存储过程”,其他的“设置格式”和“选项”标签,可以看一下,默认可以不设置,最后点击“确定”按钮,选择保存位置,输入文件名,即可把当前数据库的存储过程全部导出成一个*.sql文件。如下图

以上是存储过程的导出过程,如果再导入到另一个数据库呢?以下我们要用到“SQL查询分析器”
先选择需要导入存储过程的数据库,点击“工具”菜单的“SQL查询分析器”,

打开后,选择“文件”菜单→“打开”,找到刚才生成的*.sql文件,打开后,选择“查询”菜单中的“分析”命令,如果显示“命令全部成功完成”,

则继续选择“查询”菜单中的“执行”命令。提示全部完成后,打开该数据库的存储过程即可看到刚才导出的存储过程。
1. manger studio--右键你的数据库--任务--生成脚本
在脚本生成向导的"选择对象类型"步骤中, 将"存储过程"选上, 在接下来的"选择存储过程"的步骤中, 选择所有的存储过程(或者你要复制的存储过程)
完成后, 所有存储过程的脚本会生成在一个新的查询窗口中, 关掉生成脚本向导, 在生成的存储过程脚本的窗口中, 右键--连接--更改连接, 连接到存储过程复制的目的服务器, 选择合适的数据库, 按F5执行即可完成存储过程的复制.
2. 可以使用SSIS, 创建SSIS包, 就可以使用数据库对象复制的这个组件来复制存储过程(SSIS相当于2000的DTS)

Ⅵ mysqlmp复制数据库时,存储过程未复制

用下面的命令试试
/usr/local/webserver/mysql/bin/mysqlmp --single-transaction -quick -uroot -p -S /tmp/mysql.sock db_name >路径/文件名.sql;

Ⅶ 将一个数据库中的存储过程,复制到另一数据库

存储过程需要运行的,光执行了是不行的!一般mssql执行方式为:exec 存储过程名。
如果是mysql 那么可以直接用Navicar for mysql: 打开你那个建立好的存储过程后运行就可以了。

Ⅷ 求一个复制数据的存储过程!具体问题如下

兄弟多给分吧!!! 其实很明显你的表名是动态变化的,只能拼

这是SQLServer下的,不是Oracle的
我没有表,所以前面很大一部分是建临时表的,可看可不看。
你用的时候需要改下,或者看下逻辑,然后自个写一个,建议看完逻辑自个写一个

Create proc LogStudent
--@businessDate date
as
begin

create table #tablog(startid int,endid int,endtime date)
insert into #tablog
select 1, 5, '2010/01/01'
union
select 5, 25, '2010/02/07'
create table #tabid (operID int,tableNm nvarchar(20),valueID nvarchar(20),keyId int,OperType nvarchar(20))
insert into #tabid
select 3 ,'#tabStudent','STNO',002,'insert'
union
select 6,'#tabStudent','STNO',003,'insert'
union
select 7,'#tabStudent','STNO',006,'update'
union
select 16,'#tabStudent','STNO',009,'update'
--如果没有理解错的话,这个keyID应该是这个TableNm的主键,这个要对应,
--名字都一致,或者你得有个对应表,来对应你的keyid的列名和要取的出来的值的列名,否则没法对应
--我暂时在这儿给你改了下结构
create table #tabStudent (valueID int,valueName nvarchar(20))
insert into #tabStudent
select 002,'BBBB'
union
select 003,'CCC'
union
select 004,'SSS'
union
select 006,'AAA'
union
select 009,'AAAAA'
create table #tabPerson (PNO int,PNM nvarchar(20),OPERTIME Datetime)
create table #tabError (ErrorID int,execSql nvarchar(500),Msg nvarchar(500),errTime datetime)
-------------------------------------------------------------------------------
declare @sqlStart nvarchar(100)='insert into #tabPerson select valueID,valuename,GetDate() from '
declare @sqlMiddle nvarchar(100)=' where valueID = '
declare @execSql nvarchar(500)=''
declare @tableName nvarchar(20)=''
declare @keyID int=null
declare @errid int=0--因为用的表变量所以ID就简单写了,你的表里ID应该是自增长或者其它
declare @errmsg nvarchar(500)=''

select
top 1 @tableName=tableNM
,@keyID=keyId
from #tabid a
right join (select top 1 startid,endid from #tablog order by endtime desc) b
on a.operID>b.startid and a.operID<b.endid
order by keyId asc

while(@tableName <>'')
begin
begin TRY
select @execSql=@sqlStart+@tableName+@sqlMiddle+convert(nvarchar,@keyID)
print @execSql
exec (@execSql)
end TRY
begin catch
select @errid=@errid+1
select @errmsg=ERROR_MESSAGE()
goto err
end catch

select @tableName='',@execSql=''

select
top 1 @tableName=tableNM
,@keyID=keyId
from #tabid a
right join (select top 1 startid,endid from #tablog order by endtime desc) b
on a.keyId>b.startid and a.keyId<b.endid
where a.keyId>@keyID
order by keyId asc

end

select * from #tabPerson

err:
if(@errmsg<>'')
begin
insert into #tabError
select @errid,@execSql,@errmsg,GETDATE()
end

end

--exec TestUpdateTrigger.dbo.LogStudent

Ⅸ mysql存储过程,从网上直接拷贝过来的存储过程,为什么报错

mysql存储过程,从网上直接拷贝过来的存储过程,为什么报错?
第1行 CREATE PROCEDURE ... 以后, 后面要有 BEGIN 。。。 END 的啊

mysql> DELIMITER //
mysql> CREATE PROCEDURE HelloWorld()
-> BEGIN
-> SELECT ‘Hello World’;
-> END//
Query OK, 0 rows affected (0.00 sec)

Ⅹ sql数据库存储过程复制

create proc usp_data as begin
insert into 表b (字段1,字段2) select 字段1,字段2 from 表a
end