Heim >Computer-Tutorials >Computerwissen >So verwenden Sie eine SQL-Anweisung, um gleichzeitig ein Datenelement in Tabelle A und Tabelle B zu generieren
Mit Schleifenanweisungen können Sie beliebige Daten einfügen.
Referenzcode:
aus whilestu1 löschen;
verpflichten;
ERKLÄRUNG
num1 Zahl;
maxstuid-Nummer;
Altersnummer;
Geburtstagsdatum;
beginnen
num1:=1;
WHILE num1 – Holen Sie sich den größten Hengst
Wählen Sie max(stuid)+1 in maxstuid von whilestu1;
ausWenn maxstuid null ist, dann
maxstuid:=1;
Ende, wenn;
birthday:=sysdate-ROUND(DBMS_RANDOM.VALUE(300,600),0);
age:=ROUND(DBMS_RANDOM.VALUE(18,40),0);
--Daten einfügen
Einfügen in whilestu1(stuid,stuName,age,birthday)
values (maxstuid,'student'||cast(maxstuid as varchar2(50)),age,birthday);
verpflichten;
num1:=num1+1;
ENDSCHLEIFE;
Ende;
/
-- Ich weiß nicht genau, welche Datenbank verwendet wird. . .
--MS SQL Server 2005 oder höher, ORACLE
wählen Sie * aus (
select row_number() over (order by starttime asc) as rownum,* from steriworkrecord where starttime between '2013-11-1' and '2013-12-31'
) a
wobei Reihenzahl zwischen 2 und 10 liegt-- [Hinweis (Reihenfolge nach Startzeit aufsteigend) ist die Art und Weise, wie Sie sortieren, aufsteigend aufsteigend, absteigend absteigend]
============================================== === =======
--ORACLE ist OK
wählen Sie * aus (
select rownum as n,* from steriworkrecord
Wo Startzeit zwischen '2013-11-1' und '2013-12-31'
) a
wobei a.n zwischen 2 und 10========================================== === ==============
-- MYSQL, PostgreSQL scheint nur skalare Unterabfragen zu haben
SELECT *FROM (
SELECT a.*,(
SELECT count(*) FROM steriworkrecordb WHERE b.ID
von steriworkrecorda
) ts
wobei ts.n zwischen 2 und 10 liegt
-- [Beachten Sie, dass b.ID
-- Der Code ist beschäftigt und Sie haben ihn tatsächlich getestet, ok
Wählen Sie * vom Benutzer mit ID=1 über die Abfrageanweisung aus
Ich weiß nicht, ob sich Ihr Benutzername auf ein Feld bezieht. Wenn Sie den Wert eines Felds in der Tabelle abrufen möchten.
Sie können Feldname 1, Feldname 2 ... von einem Benutzer mit ID=1 auswählen.
--MS SQL Server 2005 oder höher, ORACLE
wählen Sie * aus (
select row_number() over (order by starttime asc) as rownum,* from steriworkrecord
Wo Startzeit zwischen '2013-11-1' und '2013-12-31'
) a
wobei Rownum zwischen 2 und 10 liegt
-- [Hinweis (Reihenfolge nach Startzeit aufsteigend) ist die Art und Weise, wie Sie sortieren: aufsteigend aufsteigend, absteigend absteigend]
--ORACLE ist OK
wählen Sie * aus (
select rownum as n,* from steriworkrecord
Wo Startzeit zwischen '2013-11-1' und '2013-12-31'
) a
wo zwischen 2 und 10
-- MYSQL, PostgreSQL scheint nur skalare Unterabfragen zu haben
SELECT *FROM (
SELECT a.*,(
SELECT count(*) FROM steriworkrecordb WHERE b.ID
von steriworkrecorda
) ts
wo ts.n zwischen 2 und 10
-- [Beachten Sie, dass b.ID
Das obige ist der detaillierte Inhalt vonSo verwenden Sie eine SQL-Anweisung, um gleichzeitig ein Datenelement in Tabelle A und Tabelle B zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!