Per aggiungere un constraint IDENTITY ad una colonna già esistente devo prima eliminarla e poi ricrearla.
Attenzione perché tutti i dati presenti nella colonna saranno persi!
Una colonna con IDENTITY contiene numeri interi creati automaticamente da SQL Server ogni volta che si aggiunge un record a quella tabella.
I valori nella colonna IDENTITY sono ovviamente UNICI.
Per ogni tabella può esistere una sola colonna IDENTITY.
USE pubs –> Utilizzo il database pubs
GO
/* se esiste all’interno del database l’oggetto ‘test’ ed è una TABELLA */
IF OBJECTPROPERTY ( object_id(‘test’),’ISTABLE’) = 1
DROP TABLE test /* allora lo elimino */
GO
CREATE TABLE test (id# int NOT NULL, tipo1 varchar(255))
GO
ALTER TABLE test –> altero la tabella ‘test’
DROP COLUMN id# –> elimino la colonna ID
GO –> Eseguo lo script precedente e mi preparo ad eseguire un nuovo batch
ALTER TABLE test –>altero la tabella libri per aggiungere il nuovo campo ID
ADD id# INT IDENTITY NOT NULL –> aggiungo un constraint IDENTITY alla colonna ID
Per mezzo di questo script:
<html>
<head>
<title>Ordinare i record casualmente</title>
</head>
<body bgcolor=”#ffffff”>
<%
‘Connessione al database
Dim rs, cn, sql
sql = “SELECT * FROM tabella”
Set cn = Server.CreateObject(“ADODB.Connection”)
Set rs = Server.CreateObject(“ADODB.Recordset”)
cn.Open “DSN=nomeDSN;”
Set rs.ActiveConnection = cn
rs.CursorType = 3
rs.LockType = 3
rs.Open sql, cn
%>
<center>
<%
rs.moveLast
conta = rs.recordCount
conta1 = conta
max = conta
‘Necessario inserire un valore massimo
If 50 < conta Then
conta1 = 50
Else
If conta > 10 AND conta < 50 then conta1 = conta1 – 2
End If
str = “,”
str1 = “,”
Do Until conta1 = 0
‘Genero i valori random per la ricerca all’interno del recordSet
‘per estrapolare record casualmente
Randomize
RndNumber = Int(Rnd * max)
If (InStr(1, str1, “,” & RndNumber & “,” ) = 0) Then
str1 = str1 & RndNumber & “,”
conta1 = conta1 – 1
rs.moveFirst
rs.move RndNumber
str = str & rs(“ID”) & “,”
End If
Loop
rs.Close
Set rs=Nothing
Set rs = Server.CreateObject(“ADODB.Recordset”)
‘Genero la query random
If sql = “SELECT * FROM tabella” then
sql = “SELECT * FROM tabella WHERE (((InStr(1,'” & str & “‘,(‘,’ & [ID] & ‘,’)))<>0))”
Else
sql = sql & ” AND (((InStr(1,'” & str & “‘,(‘,’ & [ID] & ‘,’)))<>0))”
End if
Set rs.ActiveConnection = cn
rs.CursorType = 3
rs.LockType = 3
rs.Open sql, cn
%>
<% Do until (rs.eof) %>
<!– Visualizzo i risultati della query random –>
<%= rs(“nomeCampo”) %>
<!– ***************************************** –>
<% rs.MoveNext
Loop
rs.Close
Set rs=Nothing %>
</body>
</html>
è possibile ordinare casualmente i risultati della query effettuata sul database
Per effettuare una connessione ODBC ad un database, è necessario innanzitutto impostare il DSN da pannello di controllo del server, poi, all’interno della pagina asp, inserire questo codice:
<%
Dim rs, cn, sql
sql = “SELECT * FROM tabella”
Set rs = Server.CreateObject(“ADODB.Recordset”)
Set cn = Server.CreateObject(“ADODB.Connection”)
cn.Open “DSN=nomeDSN”
Set rs.ActiveConnection = cn
rs.Open sql, cn
%>
Verrà così generato un RecordSet con i valori restituiti dall’istruzione SQL scritta