2011-02-09 11 views
5

¿Hay una consulta simple para devolver si una columna específica permite valores nulos?
Quiero cambiar esto como parte de una secuencia de comandos de actualización de base de datos.SQL: prueba si una columna tiene la propiedad "No es nulo"

Alternativamente, ¿es mejor simplemente cambiarlo, incluso si ya está configurado?

Editar: Esto es para SQL Server (debe ser compatible con 2000 o posterior)

+2

Debe marcar esta con un RDBMS real que se utiliza si desea una respuesta. La introspección en la base de datos no está muy bien estandarizada en el mundo real. –

+0

¿Qué base de datos está usando? –

Respuesta

16

Cualquier RDBMS en particular?

En SQL Server

use master 

SELECT COLUMNPROPERTY(OBJECT_ID('dbo.spt_values'),'number','AllowsNull') 

O (más estándar)

select IS_NULLABLE 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_SCHEMA='dbo' 
     AND TABLE_NAME='spt_values' 
     AND COLUMN_NAME='number' 
+0

Lo siento, lo etiqueté SQL, pensé que sería más prominente – Abort

+0

@Abort - ¡Puedes tener hasta 5 etiquetas! ¿Qué RDBMS estás usando en realidad? –

+0

@Abort - SQL es el idioma. ¿Te refieres al servidor SQL? Si es así, agrega otra etiqueta. – JohnFx

Cuestiones relacionadas