Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Definire una gerarchia (struttura ad albero ricorsivo) in sql
martedì 16 gennaio 2007 - 12.12
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Bohemian_Rhapsody
Profilo
| Newbie
36
messaggi | Data Invio:
mar 16 gen 2007 - 12:12
Buon giorno a tutti.
Scusate se riposto il mio problema ma credo di averlo esposto male.
Devo definire uno script in sql (sto usando SQL SERVER 2005) che mi permetta di gestire una gerarchia di categorie merceologiche nel mio database.
La struttura ad albero che dovrò gestire è di questo tipo:
Servizi finanziari
Assicurazioni
Assicurazioni sulla vita
Assicurazioni infortuni e malattie
…
Agenzie assicurative e di servizi
Agenti di assicuraz. e serv.
…
Settore immobiliare
Locaz.-gestione immob. Industriali
Locaz.-gestione immob. Residenziali
…
Commercio dettaglio
Grande distribuzione
…
…
Avrei bisogno di definire chiaramente e nel modo più ottimale possibile, lo script per creare la tabella e le stored procedures INSERT,UPDATE,DELETE,GET e GETALL.
Scusate nuovamente ma mi sono state proposte tante soluzioni a questo problema e non so quale sia la migliore.
Ringrazio anticipatamente per le eventuali risposte.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 16 gen 2007 - 15:49
>Buon giorno a tutti.
Ciao!
>Scusate se riposto il mio problema ma credo di averlo esposto
>male.
>Devo definire uno script in sql (sto usando SQL SERVER 2005)
>che mi permetta di gestire una gerarchia di categorie merceologiche
>nel mio database.
Prova a dare un occhio a questo post
http://www.dotnethell.it/forum/messages.aspx?ThreadID=12878
>Ringrazio anticipatamente per le eventuali risposte.
Di nulla!
ciao!
>
>
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Bohemian_Rhapsody
Profilo
| Newbie
36
messaggi | Data Invio:
mar 16 gen 2007 - 17:38
Seguendo l'esempio che lei mi ha consigliato, nel mio caso dovrei scrivere:
IF EXISTS (SELECT * FROM sys.tables WHERE object_id = object_id('Categorie'))
DROP TABLE Categorie
CREATE TABLE Categorie
(
IDCategoria int IDENTITY(1,1) PRIMARY KEY CLUSTERED,
NomeCategoria(100) NOT NULL,
IDCategPadre int NULL
)
CREATE NONCLUSTERED INDEX IX_IDCategPadre ON Categorie
(
IDCategPadre
)
Io invece avevo pensato di considerare IDCategPadre come chiave esterna che punta ad IDCategoria, per facilitare la cancellazione.
E' giusta o sbagliata come idea?
Se è giusta poi, òe stored procedures come verrebbero?
melmar20
Profilo
| Junior Member
150
messaggi | Data Invio:
mar 16 gen 2007 - 17:49
Non puoi farlo perchè non è valido il CASCADE su una singola tabella
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 16 gen 2007 - 18:33
>Non puoi farlo perchè non è valido il CASCADE su una singola
>tabella
confermo.. non è possibile fare il cascade sulla stessa tabella.
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !