当前位置:首页 » 存储配置 » sql复制存储过程

sql复制存储过程

发布时间: 2022-06-16 00:48:55

sql server 2008怎么复制存储过程

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

⑵ SQL怎么把A数据库的存储过程拷贝到B数据库

用SQL Server的话,可用管理器,找到存储过程,点右键,Script Stored Procere as -->CREATE To-->New Query Editor Window,可以生成存储过程的建立脚本,再用此脚本到B数据库创建回去即可。

⑶ MSSQL 2008 中怎样用存储过程把一个表里的数据批量复制到另一个表

-----将userinfo表里的数据到userinfoCopy表中
declare @UserId int,@UserName nvarchar(50)
DECLARE UserArray CURSOR FOR SELECT * FROM [userInfo] with(nolock)
OPEN UserArray
FETCH NEXT FROM UserArray INTO @UserId,@UserName
WHILE @@FETCH_STATUS=0
BEGIN
INSERT INTO [userInfoCopy]
([Id]
,[name])
VALUES
(@UserId
,@UserName)

FETCH NEXT FROM UserArray INTO @UserId,@UserName
END
CLOSE UserArray
DEALLOCATE UserArray

希望对你有帮助。。。

⑷ SQL 中存储过程怎么使用

一、简单的储存过程:

1、创建一个存储过程

create procere GetUsers()

begin

select * from user;

end;12345

2、调用存储过程

call GetUsers();12

3、删除存储过程

drop procere if exists GetUsers;

二、带参数的存储过程

1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;

2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出

create procere GetScores(

out minScore decimal(8,2),

out avgScore decimal(8,2),

out maxScore decimal(8,2)

)

begin

select min(score) into minScore from user;

select avg(score) into avgScore from user;

select max(score) into maxScore from user;

end;1234567891011

3、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以@开始) , 如下所示 :

call GetScores(@minScore, @avgScore, @maxScore);12

4、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量@minScore, @avgScore, @maxScore, 然后即可调用显示该变量的值 :

select @minScore, @avgScore, @maxScore;

5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :

create procere GetNameByID(

in userID int,

out userName varchar(200)

)

begin

select name from user

where id = userID

into userName;

end;12345678910

6、调用存储过程 :

call GetNameByID(1, @userName);

select @userName;123

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

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

⑹ SQL中复制整个库结构,包括关系图,存储过程,视图

1.生成SQL脚本是可以的
右键数据库-》所有任务-》生成SQL脚本-》点“全部显示”-》勾选“全部存储过程”-》确定

2.直接复制库文件,改名,附加的时候会出错
这当然,改名后在附加时也要改名的,具体方法:
假设数据库abc改名为abd,则在附加数据库时,在“当前文件位置”处将abc也改名为abd就可以了

⑺ 如何备份SQL存储过程批量导出数据库存储过程

打开SQL Server Management Studio查询分析器,找到需要批量导出SQL存储过程数据库。右键菜单-任务-生成脚本。

进入的生成SQL Server脚本向导。点击下一步。

选中要导出所有SQL存储过程的数据库。继续下一步。

脚本选项,不用做修改,默认即可。

在选择对象类型中,选择存储过程。

这样可以看到这个数据库中所有的SQL存储过程,可以批量选择SQL存储过程,也可以全选所有的SQL存储过程进行导出。

在脚本模式中,脚本保存到文件,选择需要导出保存到电脑上的文件夹路径。单个文件即所有SQL存储过程都放在一个SQL文件中,不是每个SQL存储过程独立一个SQL文件。所以可以选择每个对象一个文件。

设置向导完成,等待导出完成即可。

⑻ sql数据库存储过程复制

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

⑼ 为什么SQL2005在新建复制找不到存储过程提示错误:2812 的解决方法

一台服务器重装系统后,用附加表再配置同步复制的时候出错:

sql server 无法创建发布 找不到存储过程 错误 2812

在SQL SERVER 2005中,有数据库DB1,在A服务器上。由于要更换服务器,要把数据库DB1迁移到B服务器上。而DB1是用于同步复制的。粗心的你没有把同步复制(发布和订阅)删掉,就直接把DB1.mdf和DB1_log.ldf两个文件到B服务器上附加。附加成功了,原来的程序都能连接上,你以为大功告成。但是,几天过后,当你想把服务器重新同步复制,以作实时备份时,你发现自己的倒霉时刻到了。SQL SERVER 2005 像病了一样,只提示:“找不到存储过程’’…错误:2812”。

如果你的经历与以下的不完全一致,那么这篇文章可能也值得你参考。

但如果你的经历恰好一样,而且你在Google或Bai上苦寻答案而不觅,那么,这篇文章或者能帮你一把。

如果数据库迁移后,数据并没有更新过。那么你的想法是把这个该死的数据库分离,然后再重新把去掉同步复制的干净的数据库迁移过来。但是,如果你的新数据库已经投入生产,那么,请参考我的方法:

打开B服务器上的DB1数据库的系统表,你会发现有12个表在里面。这12个表就是因同步复制而产生的,包括:

表/视图

有记录

复制必需

Mspeer_lsns

Mspeer_request

Mspeer_response

Mspub_identity_range

Sysarticlecolumns





Sysarticles





Sysarticlesupdates



syspublications





Sysreplservers



Sysschemaarticles



Syssubscriptions





systranschemas

sysextendedarticlesview



问题就出现在这里了。这12 个系统表和1个视图是因同步复制而生的,如果没有发生同步复制,他们是不会出现的。我们把mdf和ldf文件直接迁移过来,数据库里面的这些系统表和视图也随之而来了。

不能简单的把这12个系统表和1个视图删掉,这样同样不行。在经过了长时间的摸索后,我发现了问题的真正所在。

我们看一下系统表 sysreplservers的内容,有两列:

Srvname

Srvid

旧服务器名称

0

终于找到了问题所在了。我们把该表的记录删除。

然后随便发布一次。

再把该发布删除。

至此,该数据库中的陈旧同步复制信息已经去除,数据库重新变得洁净可爱

⑽ 如何用SQL语句在两个数据库间复制存储过程

建议你还是用企业管理器导出SQL语句然后执行,这样简单些

当然也可以用命令生成脚本,不过命令比较繁,估计你看了就不想用了:

如何用命令生成SQL SERVER脚本

--以下生成整个数据库的SQL脚本,我测试了,相当好用。
--(scptxfr.exe的路径要正确以下是我的路径)
declare @cMd varchar(1000)
set @cmd = 'master.dbo.xp_cmdshell ' +
'''c:\"Microsoft ' +
'SQL Server"' +
'\MSSQL\Upgrade\scptxfr.exe ' +
' /s YourServerName /p YourSAPassword /I /d YourDBName /f ' +
'c:\YourDBName.sql'''
exec (@cmd)

命令行语法:
SCPTXFR /s <服务器> /d <数据库> {[/I] | [/P <密码>]}
{[/F <脚本文件目录>] | [/f <单个脚本文件>]}
/q /r /O /T /A /E /C <CodePage> /N /X /H /G /Y /?

/s — 指示要连接到的源服务器。
/d — 指示要为之编写脚本的源数据库。
/I — 使用集成安全性。
/P — sa 要用的密码。请注意登录 ID 始终为 sa。
若/P不使用或标志后面没有密码,
则将使用空密码。不与 /I 兼容。
/F — 脚本文件应生成到的目录。
这意味着为每个对象分类生成一个文件。
/f — 所有脚本将保存到的单个文件。
不与 /F 兼容。
/q — 在所生成的脚本中使用被引用的标识符。
/r — 为脚本中的对象包括 drop 语句。
/O — 生成 OEM 脚本文件。无法用于 /A 或 /T。
这是默认的行为。
/T — 生成 UNICODE 脚本文件。无法用于 /A 或 /O。
/A — 生成 ANSI 脚本文件。无法用于 /T 或 /O。
/? — 命令行帮助。
/E — 发生错误时停止脚本编写。
默认行为是记录该错误而后继续。
/C — 指示替代服务器 CodePage(代码页)的 CodePage。
/N — 生成 ANSI PADDING。
/X — 编写 SP 和 XP 脚本以分隔文件。
/H — 生成不带首部的脚本文件。(默认: 带首部)。
/G — 使用指定的服务器名称作为所生成的输出文件的前缀(
中的划线)。
/Y — 为“扩展属性”生成脚本(仅对 8.x 服务器有效)。

热点内容
宋plus副驾驶屏什么配置才有 发布:2025-01-09 13:26:38 浏览:906
他有毒缓存 发布:2025-01-09 13:04:35 浏览:262
文件夹太大怎么删 发布:2025-01-09 12:52:17 浏览:98
为什么安卓不像苹果用假后台 发布:2025-01-09 12:30:42 浏览:651
linux算法 发布:2025-01-09 12:27:51 浏览:188
2048游戏c语言代码 发布:2025-01-09 12:14:53 浏览:605
建行银行邮件压缩文件密码在哪里 发布:2025-01-09 12:14:20 浏览:55
天龙八部3免费挂机脚本 发布:2025-01-09 12:12:09 浏览:43
centos解压gz 发布:2025-01-09 12:11:13 浏览:372
mysql文件加密 发布:2025-01-09 11:43:08 浏览:490