sql-server - 从另一个数据库插入数据库,在 SQL Server 中指定一些值

标签 sql-server database sql-server-2008 sql-insert

我对此进行了研究,但尚未找到针对这种情况的特定解决方案。 我有两个表,每个表位于不同的数据库中。

假设它们是 DB1.T1DB2.T2

DB1.T1 我想从两个特定列 IDDescription 中选择所有行。

DB2.T2 具有相同的两列,但还有另外三个列:T2.IDEnableDate.

一些注意事项。 DB2.T2 是一个 SQL Server,我一直使用 MySQL,但是这个 SQL Server 与我以前的经验有一些不一致。 AUTOINCREMENT 默认条件不存在,并且在创建新记录时无法插入默认时间戳或日期值。

根据我的研究,我找到了一些解决方案

INSERT INTO DB2.T2(ID, Description, Enable, Code ,Date)
    SELECT ID, Description 
    FROM DB1.T1;

但是我如何添加剩余的三列?

我正在考虑执行一些 while 循环,并使用允许的 GETDATE() 函数插入增量作为 DB2.T2 的 ID,但我不确定如何立即执行此操作。

我可以使用 select INTO 的先前语法并使用 INSERT INTO 来执行类似的操作吗?

INSERT INTO DB2.T2(ID, Description, Enable, Code, Date) 
VALUES (index,?,1,?,GETDATE())

我现在真的很困惑。我希望您能明白我想要解释的内容。

除了将数据从一个表导出到另一个表之外,我还想向其余列插入其他数据。对于启用,我希望它始终为 1,日期为当前日期,ID 必须是数字,并且必须根据行递增。

你建议做什么?

同时,我将继续努力寻找类似的解决方案来解决这个问题。

提前致谢。 :)

附加数据。我通过 VPN 在远程连接上工作,我所拥有的只是某种用于插入和使用数据库的 cmd 界面。大约有 20000 行,并且使用批量通过 CSV 导入导出对我来说似乎很奇怪。

最佳答案

除非我遗漏了什么,否则你可以使用:

INSERT INTO DB2.T2(ID, Description, Enable, Code ,Date) 
SELECT ID, Description, 1 ,null,getdate() FROM DB1.T1;

当您开始考虑循环时,请停止并重新审视该问题。几乎总是更好的方法。

如果 ID 应该递增而不是基于 DB1.T1 中的内容,请考虑在 DB2 IDENTITY() 中创建该列。如果这样做,那么您只需将 ID 保留在插入中,SQL Server 将自行处理。

关于sql-server - 从另一个数据库插入数据库,在 SQL Server 中指定一些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45356581/

相关文章:

sql - 将两列数据合二为一

Javascript 和数据库连接

sql-server - 索引如何在 SQL 用户定义类型 (UDT) 上工作?

java - 在 Java 中将数据类型 nvarchar 转换为 datetime2 时出错

SQL 子字符串和最后一个索引

sql - Ruby on Rails 根据数据库值计算 "rank"?

excel - 将 ssis 包中的数据导出到 Excel 目标时出错

c# - 将标量从 SQL Server 返回到 C#

sql - 如何基于数据库角色构建资源调控器分类器功能?

database - 我在哪里可以找到城市/社区数据库?