當前位置:首頁 » 服務存儲 » 如何復制別人的存儲過程
擴展閱讀
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