Creare una tabella
CREATE TABLE [database].[nometabella]
(
ID int NOT NULL
,Nome NVARCHAR(255) NULL
,punti int NULL
);
-------
Aggiungere colonne a una tabella
ALTER TABLE [database].[nometabella] ADD commento NVARCHAR(255) NULL, punteggio INT NULL ;
GO
-------
Modificare colonne di una tabella
ALTER TABLE [database].[nometabella] ALTER COLUMN punteggio DECIMAL (5, 2) ;
GO
-------
Controllare se la ricerca full-text è installata:
SELECT SERVERPROPERTY('IsFullTextInstalled');
GO
Se viene restituito il valore 1, la ricerca full-text e la ricerca semantica sono installate. Se viene restituito il valore 0, le ricerche non sono installate.
-------
Controllare se il database di statistiche lingua semantica è installato
SELECT * FROM sys.fulltext_semantic_language_statistics_database;
GO
Se viene restituito il valore 1, il database di statistiche lingua semantica è installato, se viene restituito il valore 0 no.
-------
Creare un indice fulltext (ita)
CREATE FULLTEXT INDEX ON dbo.aerei
(
nome
Language 1040,
nazione_origine
Language 1040,
tipo
Language 1040,
ruolo
Language 1040,
descrizione
Language 1040,
armamento
Language 1040,
motori
Language 1040
)
KEY INDEX PK__aerei
ON filoweb_it_filoweb_fulltext;
GO
-------
Creare un indice fulltext (ita) con traking
CREATE FULLTEXT INDEX ON dbo.aerei
(
nome
Language 1040,
nazione_origine
Language 1040,
tipo
Language 1040,
ruolo
Language 1040,
descrizione
Language 1040,
armamento
Language 1040,
motori
Language 1040
)
KEY INDEX PK__aerei
ON filoweb_it_filoweb_fulltext
WITH CHANGE_TRACKING OFF, NO POPULATION;
GO
-------
Cambiare il popolamento in automatico in indice FullTEXT
ALTER FULLTEXT INDEX ON dbo.aerei SET CHANGE_TRACKING AUTO;
GO
------
Aggiornamento/popolamento manuale
ALTER FULLTEXT INDEX ON dbo.aerei START UPDATE POPULATION;
GO
------
cancellare un fulltext
DROP FULLTEXT INDEX ON dbo.aerei;
Go
------
Esempio di ricerca fullText FREETEXT
SELECT id, ida, nome
FROM [database].[nometabella]
WHERE FREETEXT (descrizione, 'basso carico alare')
GO
-------
SU MOLTE RIGHE
SELECT nome,armamento
FROM dbo.aerei
WHERE FREETEXT((armamento,descrizione),'aden da 30' ) ;
-------
Esempio di ricerca fullText CONTAINS con frase specifica
SELECT id, ida, nome
FROM aerei
WHERE CONTAINS (descrizione, '"basso carico alare"')
GO
------
Esempio con carattere jolly
SELECT id, ida, nome
FROM aerei
WHERE FREETEXT (descrizione, 'moto*')
GO
-------
Esempio con AND OR NOT
SELECT id, ida, nome
FROM aerei
WHERE id <> 95 AND CONTAINS (descrizione, 'moto*')
GO
Esempio AND LOGICO
SELECT nome,armamento
FROM dbo.aerei
WHERE FREETEXT((armamento,descrizione),'aden da 30' ) AND CONTAINS(ruolo, 'attacco') ;
-------
Clonare una tabella
Select * into dbo.nuovatabella from dbo.vecchiatabella