Sql 如何创建创建表的脚本
我正在使用SQL Server Management Studio 2017。我在本地机器上有一张桌子。假设它的名字是Email。在电子邮件表中,有一种列名语言,其值可以是“en”或“zh”。在这个语言专栏旁边,还有一些专栏 现在,我的同事也有相同的表,但不同的机器,他只有语言为en的行。他还没有语言不通的那一行 如何使用此软件生成SQL脚本,将数据插入到他的表中,但只在Language='zh'的位置使用行,以便两个表都相同 更清楚地说,我需要向他发送INSERT脚本,其中还包含数据的值,以便他可以使用该脚本将数据插入到本地机器中的数据库中 还是有别的办法 这就是你想要的吗Sql 如何创建创建表的脚本,sql,sql-server,insert,ssms,Sql,Sql Server,Insert,Ssms,我正在使用SQL Server Management Studio 2017。我在本地机器上有一张桌子。假设它的名字是Email。在电子邮件表中,有一种列名语言,其值可以是“en”或“zh”。在这个语言专栏旁边,还有一些专栏 现在,我的同事也有相同的表,但不同的机器,他只有语言为en的行。他还没有语言不通的那一行 如何使用此软件生成SQL脚本,将数据插入到他的表中,但只在Language='zh'的位置使用行,以便两个表都相同 更清楚地说,我需要向他发送INSERT脚本,其中还包含数据的值,以便
insert into colleague.dbo.email ( . . . )
select . . .
from my.dbo.email
where language = 'zh';
有两种方法-第一种方法很快,不需要代码,但您需要手动删除自己不想要的行,另一种方法更灵活,但您必须编写代码。也有第三方的工具,你可以为你做到这一点 如果只想执行一次,可以执行以下操作这是来自不同版本的SSMS,但应该是类似的 右键单击数据库,选择任务,选择生成脚本。然后选择所需的表,进入下一步,然后在“高级设置”中找到要编写脚本的数据类型并将其更改为数据。这将生成一个脚本来加载表中的所有数据——您需要对其进行编辑,以便只加载所需的行 另一种选择是编写一个脚本,基本上让您自己生成所需的数据。您需要将其设置为开始,并在更改表格格式时进行调整,但您可以编辑选择脚本,使其仅获取所需的数据。我相信你可以写一个脚本,自动为你创建这个,但我从来没有需要过,所以我没有想过 像这样的
With baseRows as
(
--This bit gets the data you want
Select E.*
, ROW_NUMBER() over(ORDER BY ID) as RowNo
From dbo.Email E
Where E.Language = 'zh' -- whatever selection you need here
)
, selectRows as
(
--This bit creates the data select statments to set the data to import
Select
case when BR.RowNo = 1 then '' else 'Union All ' end
+ 'Select '
+ convert(varchar(10), BR.userID) + ' as userID, ' -- required integer example
+ case when BR.backupID is null then 'NULL' else CONVERT(varchar(10), BR.backupID) end + ' as backupID, ' -- nullable integer example
+ '''' + BR.Name + ''' as name, ' -- required nvarchar example
+ case when BR.groupname IS null then 'NULL' else '''' + BR.groupname + '''' end + ' as groupname, ' --nullable varchar example
+ CONVERT(varchar(2), BR.isActive) + ' as isActive, ' --bit example
as SQL
from baseRows BR
)
Select
--This creates the insert command row (top row) of the final query
'Insert into Email (
userID
, backupID
, name
, groupName
, IsActive
)' as SQL
UNION ALL
Select SQL from baseRows --and adds the data to the following rows
如果运行此脚本,输出将是要将数据加载到另一台计算机中的脚本。右键单击数据库名称表,其中数据库-->任务-->生成脚本-->下一步-->选择特定数据库对象-->选择表-->保存到文件=高级-->单击高级-->数据类型到脚本=仅数据-->指定存储路径insert命令但是我们是不同的机器,所以我想要的是一个脚本文件发送到他的机器,在这个文件中,脚本还将包含values@NgocTuanLam . . . 只需使用链接服务器。