Ich habe zwei Tabellen:INSERT INTO einer MSSQL-Tabelle über einen Blick
users table
+----+----------+-------+-----+
| id | username | email | ... |
+----+----------+-------+-----+
APIkeys table
+----+--------+-----+---------+------+
| id | userId | key | expires | used |
+----+--------+-----+---------+------+
und eine Ansicht:
ValidAPIkeys
+----------------+-------------+-----------------+
| users.username | APIkeys.key | apikeys.expires |
+----------------+-------------+-----------------+
Die Ansicht zeigt nur die Werte, deren used
0 und expires
ist mehr als jetzt . Das funktioniert gut und sogar UPDATE
funktioniert gut. Was ich jetzt brauche, ist in der Lage, Werte in (APIkeys
) Tabelle durch die Ansicht, so etwas wie INSERT INTO [dbo].[ValidAPIkeys] (username, key) VALUES ('myUserName', 'someCryptographicNonsense')
(am Ende) einfügen. Ich möchte, dass die ID myUserName
von users
abgerufen wird und dann eine INSERT INTO [dbo].[APIkeys] (userId, key) VALUES ('whateverHeGetsFromMaybeASelectStatement-id', 'someCryptographicNonsense')
.
Ich fragte mich, ob das überhaupt möglich war. Ich erinnere mich, dass ich in Access so etwas gemacht habe, kann aber nicht herausfinden, wie es funktioniert. Wenn das nicht möglich ist, kann ich immer eine Variable mit der ID definieren und diese dann verwenden. Ich habe einfach das Gefühl, dass eine Aussicht wie diese ein bisschen schöner wäre.
Vielen Dank für jedes Feedback. Wenn Sie sich so fühlen, sagen Sie mir, ich bin ein kompletter Idiot für die Verwendung von MSSQL als Toaster zum Frühstück, ich versuche, Sachen auf meine Art zu lernen :)
Sie können keine Ansicht einfügen, wenn die Ansicht mehr als eine Basistabelle enthält. Woher weiß es, wo die Informationen für jeden Tisch gespeichert werden? –
Access ist dazu in der Lage, und es wird von ADO-Engine behandelt. Die Geschichte ist in SQL Server – FLICKER
@SeanLange anders, das ist teilweise was ich fragen. Wenn es eine Möglichkeit gibt, es zu spezifizieren –