Comment puis-je combiner ces deux scripts? En gros, je ne veux pas coder en dur le numéro 34 dans Query 2 . Je veux que le script prenne le prochain numéro de job_id. Query 1 renvoie 34 , donc Query 2 doit prendre 35 comme job_id .
Requête 1
insert into job (job_id, name) values (35, 'Defend them')
Résultat de la requête 1 - 34
Requête 2
select top 1 job_id from job order by job_id desc
4 Réponses :
Et ça?
insert into job (job_id, name) select top 1 job_id+1, 'Defend them' from job order by job_id desc
Pour ce faire, définissez job_id comme colonne identity :
insert into jobs (name)
values ('Defend them');
Ensuite, vous pouvez simplement faire:
XXX
Et SQL Server attribue l'ID de la tâche.
select top 1 job_id, 'Defend them' into job (job_id, name) from job order by job_id DESC
Une brève explication de comment / pourquoi cela fonctionne serait très utile aux futurs lecteurs.
Il n'est pas nécessaire d'utiliser order by job_id desc et top 1 pour obtenir la valeur souhaitée.
Vous avez besoin de max (job_id) + 1
insert into job (job_id, name) select max(job_id) + 1, 'Defend them' from job