我有一堆记录要移动到另一个数据库,我只想创建一堆可以复制和粘贴的插入。我以前见过有人这样做,但我无法弄清楚。我没有得到正确的逃脱。
类似这样的地方,'Code','Description'和'Absent'是我想从表中得到的列。
SELECT 'INSERT INTO AttendanceCodes
(Code, Description, Absent)
VALUES
(' + Code + ',' + Description + ',' + Absent')'
FROM AttendanceCodes
最终结果应该是一系列具有正确值的INSERTS:
INSERT INTO AttendanceCodes
(Code, Description, Absent)
VALUES
('A','Unverified Absence','UA')
答案 0 :(得分:2)
检查
SELECT 'INSERT INTO AttendanceCodes (Code, Description, Absent) VALUES (''' + Code + ''',''' + Description + ''',''' + Absent''')'
FROM AttendanceCodes
答案 1 :(得分:2)
尝试这样的事情:
SELECT
'INSERT INTO AttendanceCodes (Code, Description, Absent) VALUES ('
+ ISNULL(''''+CONVERT(varchar(8000),Code)+'''','null')
+ ','
+ ISNULL(''''+CONVERT(varchar(8000),Description)+'''','null')
+ ','
+ ISNULL(''''+CONVERT(varchar(8000),Absent)+'''','null')
+')'
FROM AttendanceCodes
这将处理NULL。我不确定你的列数据类型,但是你只能连接字符串,所以我把所有内容强制为varchar(8000),你可以根据需要修改它。
答案 2 :(得分:0)
对于获取表名(以及其他一些选项)并为该表中的当前数据生成insert语句的通用存储过程,请查看此方便 link。
它创建一个名为sp_generate_inserts的过程。您将此过程传递给表名,它将生成所有insert语句以重新创建数据。