如何使用存储过程将所有表模式从一个数据库传输到另一个数据库 [英] How to transfer all table schema from one database to another database using stored procedure

查看:59
本文介绍了如何使用存储过程将所有表模式从一个数据库传输到另一个数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将一个数据库的所有表(比如说Database2)的表模式与另一个数据库(比如说Database1)进行比较/转移,我希望通过存储过程实现这一点,请你帮我吧? />


例如。如果数据库1有一个表雇员,其中empname列是varchar(3)而数据库2有一个表雇员,其中empname列是varchar(5),那么在运行脚本后,database1表雇员的empname列也应该变为varchar( 5)。我已经写了相同的以下存储过程,但不知道这是否有效



我尝试过:



  CREATE   PROCEDURE  [dbo]。[CompareSchemaScript]( @ ix_sys_error   int   OUTPUT  AS   BEGIN  TRY  DECLARE   @ LogError   INT  @ PrimaryKey   INT  @ ErrorMessage   nvarchar  2000  EXEC  log_ins  @ LogError  @的PrimaryKey  5  1  NULL  1 ,' Script Started'  ALTER   SCHEMA  Database1.tables TRANSFER Database2.tables; 
EXEC log_ins @ LogError @ PrimaryKey 7 1 NULL 1 ,'脚本已成功完成' END TRY

BEGIN CATCH
SELECT @ ix_sys_error = ERROR_NUMBER()
SELECT @ ErrorMessage = ERROR_MESSAGE()
EXEC ix_sys_event_log_ins @ LogError @ PrimaryKey 6 1 NULL 1 @ ErrorMessage NULL
END CATCH

IF @ ix_sys_error != 0)
RETURN 1
ELSE
RETURN 0
END

解决方案

这会有帮助吗?



https:// www.codeproject.com/tips/664327/copy-table-schema-and-data-from-one-database-to-an

I want to compare/transfer table schema of all tables of one database(lets say Database2) to another(lets say Database1) and i want this to happen through a stored procedure, could you please help me in it?

For eg. if database 1 has a table employee in which empname column is varchar(3) and database 2 has a table employee in which empname column is varchar(5), then after running the script the empname column of database1 table employee should also become varchar(5). I have written the below stored procedure for the same but dont know whether this will work or not

What I have tried:

CREATE PROCEDURE [dbo].[CompareSchemaScript] ( @ix_sys_error int OUTPUT ) AS BEGIN TRY DECLARE @LogError INT, @PrimaryKey INT,@ErrorMessage nvarchar(2000) EXEC log_ins @LogError, @PrimaryKey,5,1,NULL,1,'Script Started' ALTER SCHEMA Database1.tables TRANSFER Database2.tables;
EXEC log_ins @LogError, @PrimaryKey,7,1,NULL,1,'Script Completed Successfully' END TRY

BEGIN CATCH
SELECT @ix_sys_error = ERROR_NUMBER()
SELECT @ErrorMessage = ERROR_MESSAGE()
EXEC ix_sys_event_log_ins @LogError, @PrimaryKey,6,1,NULL,1,@ErrorMessage,NULL
END CATCH

IF (@ix_sys_error !=0)
RETURN 1
ELSE
RETURN 0
END

解决方案

Will this help?

https://www.codeproject.com/tips/664327/copy-table-schema-and-data-from-one-database-to-an


这篇关于如何使用存储过程将所有表模式从一个数据库传输到另一个数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆