"The shell stopped unexpectedly and Explorer.exe was restarted."
En dat dus voor elke tabel apart.
[ Edit: ik kan html posten dus ik kan kleiner dan teken NIET gebruiken
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Anoniem: 33628
Ik heb een stuk of 50 tabellen, moet ik elk tabel naam apart invoeren (RSI opwekkend?) of een programma gaan schrijven speciaal voor deze taak?Op woensdag 06 februari 2002 14:31 schreef dusty het volgende:
Delete * from <tabelnaam> where 1=1
En dat dus voor elke tabel apart.
Het kan toch simpeler neem ik aan, deze 'oplossing' had ik ook wel kunnen bedenken en hij werkt al niet meer goed zodra er een nieuwe table bij komt.
"The shell stopped unexpectedly and Explorer.exe was restarted."
Dat klinkt beter, maar wat is de code van die stor. procedure. Heb daar minimale ervaring mee, weet alleen hoe ik ze moet aanmaken.Op woensdag 06 februari 2002 14:32 schreef r-e-m het volgende:
ff een stored procedure bouwen die al je tabellen van de db langs loopt en dan een DELETE FROM tablename laat uitvoeren..
"The shell stopped unexpectedly and Explorer.exe was restarted."
Ik dacht dat jij wel slim genoeg was om dan < (of > of &) te gebruikenOp woensdag 06 februari 2002 14:31 schreef dusty het volgende:
Delete from [tabelnaam] where 1=1
En dat dus voor elke tabel apart.
[ Edit: ik kan html posten dus ik kan kleiner dan teken NIET gebruiken]
Back ontopic...
ALs je nu gewoon een lijstje met de tabellen kunt genereren, kun je deze in een editor plakken en met bv zoek/vervang functies er "DELETE FROM " voor en " WHERE 1=1;" achter te zetten.Vervolgens plak je dit in het window waarin je queries uit kunt voeren.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Uuhmm, dat kan wel es kloppen, maar zolang je de goede volgorde aan houd? Maar da's weer een ander probleem.Op woensdag 06 februari 2002 14:36 schreef raptorix het volgende:
Heb dit wel eens gemaakt, gewoon ff een select doen op Sysobjects daar haal je de tables op en vervolgens via cursor een delete statement geven. Kans is groot dat je hem paar keer moet runnen omdat anders je constraints op hun bek gaan
Heb jij misschien de code voor zo'n stored procedure.
"The shell stopped unexpectedly and Explorer.exe was restarted."
dat is leuk tot iemand mij quote, dan krijg je die tekst weer te zienOp woensdag 06 februari 2002 14:34 schreef Janoz het volgende:
[..]
Ik dacht dat jij wel slim genoeg was om dan [..]te gebruiken.
Je bedoelt:Back ontopic...
ALs je nu gewoon een lijstje met de tabellen kunt genereren, kun je deze in een editor plakken en met bv zoek/vervang functies er "DELETE FROM " voor en " WHERE 1=1;" achter te zetten.Vervolgens plak je dit in het window waarin je queries uit kunt voeren.
1
2
3
| select "DELETE FROM "|| TNAME ||" WHERE 1=1" from TAB |
? (alhans voor oracle
En dan kopieer je de output en die voer je weer uit op de database
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Kijk eens op www.swynk.com bij sql scripts, had al snel ff gekeken of ie er bij stond, dacht het niet maar als je ff kijkt heb je zo iets wat er op lijkt.Op woensdag 06 februari 2002 14:41 schreef jelmervos het volgende:
[..]
Uuhmm, dat kan wel es kloppen, maar zolang je de goede volgorde aan houd? Maar da's weer een ander probleem.
Heb jij misschien de code voor zo'n stored procedure.
Ik niet, maar met books online (de fm jaOp woensdag 06 februari 2002 14:41 schreef jelmervos het volgende:
Heb jij misschien de code voor zo'n stored procedure.
En met de storec proc sp_executesql kun je een dynamisch opgebouwde query executen.
Exact expert nodig?
Anoniem: 33628
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| declare @Table varchar(128) declare @Statement nvarchar(128) SET NOCOUNT ON DECLARE UserCur INSENSITIVE CURSOR FOR select name from sysobjects where type = 'U' FOR READ ONLY OPEN UserCur FETCH NEXT FROM UserCur INTO @Table WHILE (@@FETCH_STATUS <> -1) BEGIN SET @Statement = N'DELETE FROM ' + convert(nvarchar(128),@Table) exec sp_executesql @Statement FETCH NEXT FROM UserCur INTO @Table END DEALLOCATE UserCur |
Bedankt:Op woensdag 06 februari 2002 14:45 schreef raptorix het volgende:
[..]
Kijk eens op www.swynk.com bij sql scripts, had al snel ff gekeken of ie er bij stond, dacht het niet maar als je ff kijkt heb je zo iets wat er op lijkt.
Clear Tables Script
By Alexander Kondakov - Published December 12, 2001
This simple script will quickly and easily remove all data from all user tables. The script will work on SQL Server 6.x, 7.x, and 2000.
"The shell stopped unexpectedly and Explorer.exe was restarted."
Persoonlijk vindt ik het een "slechte" oplossing. Als het goed is heb je een bestand met alle definities van je tabellen e.d. Dan kan je beter je "installatie" bestand uitvoeren, waardoor alle tabellen worden gedropped en weer netjes alle tabellen worden aangemaakt.Op woensdag 06 februari 2002 14:50 schreef raptorix het volgende:
At your service!
Maar dat is mijn persoonlijke mening natuurlijk
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Klopt maar vaak worden dit soort bestanden pas na het project gemaaktOp woensdag 06 februari 2002 15:01 schreef dusty het volgende:
[..]
Persoonlijk vindt ik het een "slechte" oplossing. Als het goed is heb je een bestand met alle definities van je tabellen e.d. Dan kan je beter je "installatie" bestand uitvoeren, waardoor alle tabellen worden gedropped en weer netjes alle tabellen worden aangemaakt.
Maar dat is mijn persoonlijke mening natuurlijk
Wat bedoel je precies met installatie bestand?Op woensdag 06 februari 2002 15:01 schreef dusty het volgende:
[..]
"The shell stopped unexpectedly and Explorer.exe was restarted."
Een create DB script denk ikOp woensdag 06 februari 2002 15:12 schreef jelmervos het volgende:
[..]
Wat bedoel je precies met installatie bestand?
Anoniem: 7195
"The shell stopped unexpectedly and Explorer.exe was restarted."
Anoniem: 12510
Heb ik niet, dus eerst alles handmatig verwijderen, backup maken (script?) en dan bij de volgende keer die terug zetten.Op woensdag 06 februari 2002 15:48 schreef Bnard het volgende:
Als je je CREATE definities nog hebt liggen zou ik gewoon DROP DATABASE doen en dan de tabellen opnieuw aanmaken.
Ik vind het vreemd dat er niet een betere manier is, dit is toch niet zo vreemd.
"The shell stopped unexpectedly and Explorer.exe was restarted."
Om het in goede volgorde te doenOp woensdag 06 februari 2002 15:46 schreef jelmervos het volgende:
Aha, oke. Maar hij komt toch met error's over "FOREIGN KEY constraint", is er niet een betere/snellere manier om alle data uit de DB te halen.
Yup.Op woensdag 06 februari 2002 15:14 schreef raptorix het volgende:
[..]
Een create DB script denk ik
script uitvoeren, alle tabellen worden in de juiste volgorde verwijderd, daarna in de juiste volgorde weer gecreerd
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Uuhmm, wat is de goede volgorde?Op woensdag 06 februari 2002 15:49 schreef raptorix het volgende:
[..]
Om het in goede volgorde te doen
"The shell stopped unexpectedly and Explorer.exe was restarted."
Hoe maak ik zo'n script?Op woensdag 06 februari 2002 15:50 schreef dusty het volgende:
[..]
Yup.
script uitvoeren, alle tabellen worden in de juiste volgorde verwijderd, daarna in de juiste volgorde weer gecreerd
"The shell stopped unexpectedly and Explorer.exe was restarted."
Kan dat dan automatisch?Op woensdag 06 februari 2002 15:57 schreef raptorix het volgende:
Overigens is mijn ervaring dat Sqlserver niet helemaal goede volgorde hanteert bij het creeeren van een script, [...]
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
zie:Op woensdag 06 februari 2002 15:51 schreef jelmervos het volgende:
[..]
Hoe maak ik zo'n script?
Een keer RSI krijgen dusIk heb een stuk of 50 tabellen, moet ik elk tabel naam apart invoeren (RSI opwekkend?) of een programma gaan schrijven speciaal voor deze taak?
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
"The shell stopped unexpectedly and Explorer.exe was restarted."
hmm, bij het creeeren van scripts ben ik daar eigenlijk nog nooit tegenaan gelopen. Objecten en data overpompen wil nog wel eens fout gaan, maar ook daar is dat 9 van de 10 keer omdat ik zelf een stomme fout maakOp woensdag 06 februari 2002 15:57 schreef raptorix het volgende:
Overigens is mijn ervaring dat Sqlserver niet helemaal goede volgorde hanteert bij het creeeren van een script, opzich werkt het wel als je paar keer runt, maar meestal kan je beter gewoon zelf even het script maken, op zich niet heel moeilijk over algemeen questie van wat copy/pasten in juiste volgorde.
Dus gewoon van al je tabellen scripts laten maken in de EM en eventueel nog even voor de zekerheid nalopen (iig zorgen dat je "alter table"-s na de "create table"-s komen) en dan moet het werken.
btw. wat lees ik allemaal over het rechtstreeks query-en van de system tables? Foei
Today's subliminal thought is:
Anoniem: 12510
Nou, je moet het in zo'n volgorde doen dat de foreign keys goed gaan. Als je een tabel creditcards hebt met een foreign key naar een tabel klanten, dan moet je eerst de tabel klanten aanmaken voor je de tabel creditcards aanmaakt. Anders kan hij die externe referentie niet leggen.Uuhmm, wat is de goede volgorde?
Als je goed naar de afhankelijkheden in je tabellen kijkt is er wel uit te komen. Succes ermee.