【发布时间】:2015-11-13 18:08:52
【问题描述】:
我在脚本文件中有一堆插入...选择语句,如下格式。
insert into
tablename
(
col1,
col2,
...
...
coln
)
select
col1,
col2,
...
coln
from
table2
我的文件包含大约 3000 个插入...选择语句。我想根据以下内容验证脚本。
- insert 和 select 语句中提到的列数应该相同
- 插入和选择中的列名应该匹配。
我正在手动扫描插入脚本,但这是一项耗时的任务,我不知道何时完成。
请提出任何想法以有效地完成此过程。
【问题讨论】:
-
我会使用 Python 或一些类似的语言来解析和验证它;应该很容易。
-
这个文件没有语法错误,但是有很多不匹配的列,例如 (insert into tablename (col1,col2) select col4,col2 from tablename。在这个语句中 col4 与 col1 映射插入。我必须识别那些脚本。
-
这可能会帮助你
MERGE INTO [dbo].[UserUserRole] AS Target USING (VALUES (1, 1) ) AS Source ([UserID], [RoleID]) ON Target.[UserID] = Source.[UserID] AND Target.[RoleID] = Source.[RoleID] WHEN NOT MATCHED BY TARGET THEN -- Insert new rows INSERT ([UserID], [RoleID]) VALUES ([UserID], [RoleID]); -
tinka是对的,可以合并
-
给我一个示例,因为我无法遵循这个逻辑
标签: sql sql-server sql-server-2008