我有一个奇怪的SQL情况,我需要创建一个我将针对数据库A运行的SQL脚本,它将输出另一个包含assertThat(parentDecisionGroups, hasItem(
both(hasProperty("id", equalTo(decisionGroup1.getId()))).
and(hasProperty("ownerDecision", equalTo("decision1"))));
语句的SQL脚本,然后我可以对数据库B和上传数据(主要是从A到B的导出,但更长的路径)。
我想知道是否有人为此工作过,可以建议一种方法来生成包含INSERT
数据的INSERT
语句,然后将其上传到[Database A].[Table Student]
。
非常感谢。
答案 0 :(得分:1)
您可以将student中的值连接到插入字符串,如:
SELECT concat('Insert INTO Students VALUES(', Col1,', ', '''', Col2, '''', ')')
AS [Details]
FROM Student
WHERE ...
N.B四个单引号是在varchar列之前和之后创建单引号。
要从中生成新的SQL脚本,我要创建一个cmd文件,其中包含:
SET SERVER=YOUR_SERVER
SET DATABASE=YOUR_DB
sqlcmd -S %SERVER% -d %DATABASE% -h -1 -i Script.sql -o NewScript.sql -W
答案 1 :(得分:0)
- 您可以简单地使用insert into statement
INSERT INTO [Database B].[Table Student]
SELECT * FROM [Database A].[Table Student]
WHERE StudentID NOT IN (SELECT StudentID FROM [Database B].[Table Student])
答案 2 :(得分:0)
这是将数据从一个数据库表插入到其他数据库表的一种方法
INSERT INTO [DestinationDB].[dbo].Student
SELECT * FROM [SourceDB].[dbo].Student
GO
答案 3 :(得分:0)
如果您可以访问这两个数据库,则可以在一个查询中执行此操作:
INSERT INTO [Database A].[Table Student]
OUTPUT inserted.*
INTO [Database B].[Table Student]
SELECT *
FROM [newdata];