{"id":5770,"date":"2025-03-28T10:34:17","date_gmt":"2025-03-28T02:34:17","guid":{"rendered":"https:\/\/itoau.com\/?p=5770"},"modified":"2025-03-28T10:34:24","modified_gmt":"2025-03-28T02:34:24","slug":"sql%e8%a1%a8%e5%86%85-%e8%a1%a8%e9%97%b4%e6%95%b0%e6%8d%ae%e5%a4%8d%e5%88%b6","status":"publish","type":"post","link":"https:\/\/itoau.com\/?p=5770","title":{"rendered":"SQL\u8868\u5185\/\u8868\u95f4\u6570\u636e\u590d\u5236"},"content":{"rendered":"<p>SQL\u8868\u5185\/\u8868\u95f4\u6570\u636e\u590d\u5236<\/p>\n<p>\u901a\u5e38SQLServer\u5728\u65b0\u589e\u6570\u636e\u65f6\uff0c\u7528insert into \uff08f1,f2,f3&#8230;\uff09values \uff08v1,v2,v3&#8230;\uff09\uff0c\u4f46\u5982\u679c\u63d2\u5165\u8868\u7684\u5b57\u6bb5\u5f88\u591a\uff0c\u5199\u8d77\u6765\u6709\u70b9\u9ebb\u70e6\uff0c\u53ef\u4ee5\u901a\u8fc7\u52a8\u6001\u65b9\u5f0f\u53bb\u83b7\u53d6\u6570\u636e\u5217\u5e76\u6309\u6761\u4ef6\u65b0\u589e\u63d2\u5165\u3002<\/p>\n<p><strong>SQL Server 2017\u4ee5\u4e0b\u7248\u672c\uff1a<\/strong><\/p>\n<p><span style=\"color: #3366ff;\">DECLARE @columns NVARCHAR(MAX);<\/span><br \/>\n<span style=\"color: #3366ff;\">DECLARE @sql NVARCHAR(MAX);<\/span><\/p>\n<p><span style=\"color: #3366ff;\">&#8212; \u83b7\u53d6\u9664\u6807\u8bc6\u5217\u5916\u7684\u6240\u6709\u5217\u540d<\/span><br \/>\n<span style=\"color: #3366ff;\">SELECT @columns = STUFF((<\/span><br \/>\n<span style=\"color: #3366ff;\">SELECT &#8216;,&#8217; + QUOTENAME(c.name)<\/span><br \/>\n<span style=\"color: #3366ff;\">FROM sys.columns c<\/span><br \/>\n<span style=\"color: #3366ff;\">JOIN sys.tables t ON c.object_id = t.object_id<\/span><br \/>\n<span style=\"color: #3366ff;\">LEFT JOIN sys.identity_columns ic ON c.object_id = ic.object_id AND c.column_id = ic.column_id<\/span><br \/>\n<span style=\"color: #3366ff;\">WHERE t.name = &#8216;tablename&#8217; AND ic.object_id IS NULL<\/span><br \/>\n<span style=\"color: #3366ff;\">FOR XML PATH(&#8221;), TYPE<\/span><br \/>\n<span style=\"color: #3366ff;\">).value(&#8216;.&#8217;, &#8216;NVARCHAR(MAX)&#8217;), 1, 1, &#8221;);<\/span><\/p>\n<p><span style=\"color: #3366ff;\">&#8212; \u6784\u5efa\u52a8\u6001 SQL \u8bed\u53e5<\/span><br \/>\n<span style=\"color: #3366ff;\">SET @sql = N&#8217;<\/span><br \/>\n<span style=\"color: #3366ff;\">INSERT INTO tablename (&#8216; + @columns + &#8216;)<\/span><br \/>\n<span style=\"color: #3366ff;\">SELECT &#8216; + @columns + &#8216;<\/span><br \/>\n<span style=\"color: #3366ff;\">FROM tablename<\/span><br \/>\n<span style=\"color: #3366ff;\">WHERE fieldname = &#8221;0001&#8221;;&#8217;;<\/span><\/p>\n<p><span style=\"color: #3366ff;\">&#8212; \u6267\u884c\u52a8\u6001 SQL<\/span><br \/>\n<span style=\"color: #3366ff;\">EXEC sp_executesql @sql;<\/span><\/p>\n<p><strong>SQL Server 2017\u53ca\u4ee5\u4e0a\u7248\u672c<\/strong><\/p>\n<p>SQL Server 2017\u7248\u672c\u4ee5\u4e0a\u652f\u6301 STRING_AGG \u51fd\u6570\uff0c\u63d0\u4f9b\u4e86\u66f4\u9ad8\u6548\u7684\u65b9\u6cd5\uff1a<\/p>\n<p><span style=\"color: #3366ff;\">DECLARE @columns NVARCHAR(MAX);<\/span><br \/>\n<span style=\"color: #3366ff;\">DECLARE @sql NVARCHAR(MAX);<\/span><\/p>\n<p><span style=\"color: #3366ff;\">&#8212; \u83b7\u53d6\u9664\u6807\u8bc6\u5217\u5916\u7684\u6240\u6709\u5217\u540d<\/span><br \/>\n<span style=\"color: #3366ff;\">SELECT @columns = STRING_AGG(QUOTENAME(c.name), &#8216;, &#8216;)<\/span><br \/>\n<span style=\"color: #3366ff;\">FROM sys.columns c<\/span><br \/>\n<span style=\"color: #3366ff;\">JOIN sys.tables t ON c.object_id = t.object_id<\/span><br \/>\n<span style=\"color: #3366ff;\">LEFT JOIN sys.identity_columns ic ON c.object_id = ic.object_id AND c.column_id = ic.column_id<\/span><br \/>\n<span style=\"color: #3366ff;\">WHERE t.name = &#8216;tablename&#8217; AND ic.object_id IS NULL;<\/span><\/p>\n<p><span style=\"color: #3366ff;\">&#8212; \u6784\u5efa\u52a8\u6001 SQL \u8bed\u53e5<\/span><br \/>\n<span style=\"color: #3366ff;\">SET @sql = N&#8217;<\/span><br \/>\n<span style=\"color: #3366ff;\">INSERT INTO tablename (&#8216; + @columns + &#8216;)<\/span><br \/>\n<span style=\"color: #3366ff;\">SELECT &#8216; + @columns + &#8216;<\/span><br \/>\n<span style=\"color: #3366ff;\">FROM tablename<\/span><br \/>\n<span style=\"color: #3366ff;\">WHERE fieldname = &#8221;0001&#8221;;&#8217;;<\/span><\/p>\n<p><span style=\"color: #3366ff;\">&#8212; \u6267\u884c\u52a8\u6001 SQL<\/span><br \/>\n<span style=\"color: #3366ff;\">EXEC sp_executesql @sql;<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL\u8868\u5185\/\u8868\u95f4\u6570\u636e\u590d\u5236 \u901a\u5e38SQLServer\u5728\u65b0\u589e\u6570\u636e\u65f6\uff0c\u7528insert into \uff08f1,f2,f3&#038;# [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[44],"tags":[],"class_list":["post-5770","post","type-post","status-publish","format-standard","hentry","category-sql"],"_links":{"self":[{"href":"https:\/\/itoau.com\/index.php?rest_route=\/wp\/v2\/posts\/5770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itoau.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itoau.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itoau.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itoau.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5770"}],"version-history":[{"count":1,"href":"https:\/\/itoau.com\/index.php?rest_route=\/wp\/v2\/posts\/5770\/revisions"}],"predecessor-version":[{"id":5771,"href":"https:\/\/itoau.com\/index.php?rest_route=\/wp\/v2\/posts\/5770\/revisions\/5771"}],"wp:attachment":[{"href":"https:\/\/itoau.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itoau.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itoau.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}