Jag har en kod där jag kopierar en post genom att välja den och sen skapa en ny post utifrån dessa värden.
Finns denna möjligheten direkt i SQL?
Jag kör Access.
***
Till exempel:
1. SQL = "COPY ..."
2. SQL = "DUPLICATE ..."
6 svar · 258 visningar · startad av Eclipse
Jag har en kod där jag kopierar en post genom att välja den och sen skapa en ny post utifrån dessa värden.
Finns denna möjligheten direkt i SQL?
Jag kör Access.
***
Till exempel:
1. SQL = "COPY ..."
2. SQL = "DUPLICATE ..."
insert into t_eclipse(x_c1,x_c2)
select x_c1,x_c2 from t_eclipse
where x_pk = 4711
Skönt...
' ## COUNT POSTS
SQL = "SELECT COUNT(*) AS cnt FROM [tabellen];"
set mySQL = Conn.Execute(SQL)
intSortfield = mySQL("cnt") + 1
Jag har en follow-up på denna tråden.
Jag använder intSorfield för att hålla ordning på posterna, jag tror du förstår ovanstående kod.
Kan jag med hjälp av din kod skippa även detta och addera 1 i alla fall?
Till exempel:
insert into t_eclipse(x_c1,x_c2, intSortfield+1)
select x_c1,x_c2, intSortfield from t_eclipse
where x_pk = 4711
Öööhh... detta blir ju fel eftersom det är inte "plus ett av vald post" jag vill ha utan "plus ett av totala antalet poster"!
Kanske detta fungerar:
insert into t_eclipse(x_c1,x_c2, intSortfield )
select x_c1,x_c2,
((SELECT COUNT(*) FROM [tabellen]) +1)
from t_eclipse
where x_pk = 4711
Detta känns mer åt rätt håll...
INSERT INTO t_eclipse(x_c1,x_c2, intSortfield)
SELECT x_c1,x_c2,
(SELECT (Count(*) + 1) FROM tabellen)
FROM t_eclipse
WHERE x_pk = 4711
Tack!
Din lösning är aningen snyggare.
Upplysningsvis kan jag säga att det jag skrev också fungerar....
Snyggast kåd vinner! Givetvis! ;-)
Trevligt!