[英]SQL Select in an Insert statement
如何合並這兩個腳本? 我基本上不想對Query 2
的數字34
進行硬編碼。 我希望腳本采用下一個job_id。 Query 1
返回34
,因此Query 2
應該將35
作為job_id
。
查詢1
select top 1 job_id from job
order by job_id desc
查詢1-34的輸出
查詢2
insert into job (job_id, name)
values (35, 'Defend them')
通過將job_id
定義為identity
列來執行此操作:
create table jobs (
job_id int identity(1, 1) primary key,
name varchar(255)
);
然后,您可以執行以下操作:
insert into jobs (name)
values ('Defend them');
然后,SQL Server分配作業ID。
這個怎么樣?
insert into job (job_id, name)
select top 1 job_id+1, 'Defend them'
from job
order by job_id desc
select top 1 job_id, 'Defend them'
into job (job_id, name)
from job
order by job_id DESC
不需要使用order by job_id desc
和top 1
order by job_id desc
來獲取所需的值。
您需要max(job_id) + 1
insert into job (job_id, name)
select max(job_id) + 1, 'Defend them'
from job
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.