use*_*379 1 sql sql-server sql-server-2008 sql-server-2008-r2
我有2张桌子。选项卡 A 和选项卡 B
选项卡 A
Id Name
2 John
3 Peter
4 Rachel
Run Code Online (Sandbox Code Playgroud)
我需要在表 B 中插入记录以获取以下信息:
选项卡 B
PrId ID Resident Date.
1 2 Yes 7/1/2018
2 3 Yes 7/1/2018
3 4 Yes 7/1/2018
Run Code Online (Sandbox Code Playgroud)
PrId 是表 B 的主键,Id 来自表 A,其余值是硬编码的。
请建议脚本做同样的事情
您是否希望简单地从一张表直接插入到另一张表中?如果是这样,以下是您可以在 SSMS 中运行的示例:
-- create table variables for illustration purposes --
DECLARE @tableA TABLE ( [Id] INT, [Name] VARCHAR(10) );
DECLARE @tableB TABLE ( [PrId] INT IDENTITY (1, 1), [Id] INT, [Resident] VARCHAR(10), [Date] SMALLDATETIME );
-- insert sample data into @tableA --
INSERT INTO @tableA ( [Id], [Name] ) VALUES ( 2, 'John' ), ( 3, 'Peter' ), ( 4, 'Rachel' );
-- show rows in @tableA --
SELECT * FROM @tableA;
/*
+----+--------+
| Id | Name |
+----+--------+
| 2 | John |
| 3 | Peter |
| 4 | Rachel |
+----+--------+
*/
-- insert records from @tableA to @tableB --
INSERT INTO @tableB (
[Id], [Resident], [Date]
)
SELECT
[Id], 'Yes', '07/01/2018'
FROM @tableA;
-- show inserted rows in @tableB --
SELECT * FROM @tableB;
/*
+------+----+----------+---------------------+
| PrId | Id | Resident | Date |
+------+----+----------+---------------------+
| 1 | 2 | Yes | 2018-07-01 00:00:00 |
| 2 | 3 | Yes | 2018-07-01 00:00:00 |
| 3 | 4 | Yes | 2018-07-01 00:00:00 |
+------+----+----------+---------------------+
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3054 次 |
| 最近记录: |