Olá, Bom Dia Galera!!!
Vamos ver os comandos para listar todas as colunas de uma tabela no MS-SQL server, identificando as chaves primárias, as chaves estrangeiras, o tipo de dado, tamanho do campo, bem como se ele aceita nulo ou não.
Tendo em mãos o nome da tabela desejada, basta executar o comando abaixo:
Vamos ao comando?
SELECT A.name +
' (' + CASE WHEN ((SELECT COUNT(1)
FROM INFORMATION_SCHEMA.KEY_COLUMN_ USAGE AA
WHERE A.name = AA.COLUMN_NAME
AND CONSTRAINT_NAME = (SELECT NAME
FROM SYSOBJECTS As AAA
WHERE AA.TABLE_NAME = OBJECT_NAME(AAA.Parent_Obj)
AND AAA.XTYPE = 'PK')) > 0)
THEN 'PK, ' ELSE '' END +
CASE WHEN ((SELECT COUNT(1)
FROM INFORMATION_SCHEMA. REFERENTIAL_CONSTRAINTS AA
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_ USAGE BB ON BB.CONSTRAINT_CATALOG = AA.CONSTRAINT_CATALOG
AND BB.CONSTRAINT_SCHEMA = AA.CONSTRAINT_SCHEMA
AND BB.CONSTRAINT_NAME = AA.CONSTRAINT_NAME
WHERE BB.TABLE_NAME = B.name
AND BB.COLUMN_NAME = A.name) > 0)
THEN 'FK, ' ELSE '' END +
C.name + CASE WHEN (C.collationid IS NOT NULL)
THEN '(' + CAST(A.length AS VARCHAR(10)) + ')' ELSE '' END + ', ' +
CASE WHEN (A.isnullable = 0) THEN 'Não Nulo' ELSE 'Nulo' END +
')' AS Coluna
FROM SYSCOLUMNS A
LEFT JOIN SYSOBJECTS B ON A.id = B.id
LEFT JOIN SYSTYPES C ON A.usertype = C.usertype
WHERE B.name = 'Pessoa' -- Nome da Tabela
Prontinho, aí estão todas as colunas com as devidas informações de tamanho, tipo de dado, etc.
Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.
Atenciosamente
Dica Chave.
Vamos ao comando?
SELECT A.name +
' (' + CASE WHEN ((SELECT COUNT(1)
FROM INFORMATION_SCHEMA.KEY_COLUMN_ USAGE AA
WHERE A.name = AA.COLUMN_NAME
AND CONSTRAINT_NAME = (SELECT NAME
FROM SYSOBJECTS As AAA
WHERE AA.TABLE_NAME = OBJECT_NAME(AAA.Parent_Obj)
AND AAA.XTYPE = 'PK')) > 0)
THEN 'PK, ' ELSE '' END +
CASE WHEN ((SELECT COUNT(1)
FROM INFORMATION_SCHEMA. REFERENTIAL_CONSTRAINTS AA
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_ USAGE BB ON BB.CONSTRAINT_CATALOG = AA.CONSTRAINT_CATALOG
AND BB.CONSTRAINT_SCHEMA = AA.CONSTRAINT_SCHEMA
AND BB.CONSTRAINT_NAME = AA.CONSTRAINT_NAME
WHERE BB.TABLE_NAME = B.name
AND BB.COLUMN_NAME = A.name) > 0)
THEN 'FK, ' ELSE '' END +
C.name + CASE WHEN (C.collationid IS NOT NULL)
THEN '(' + CAST(A.length AS VARCHAR(10)) + ')' ELSE '' END + ', ' +
CASE WHEN (A.isnullable = 0) THEN 'Não Nulo' ELSE 'Nulo' END +
')' AS Coluna
FROM SYSCOLUMNS A
LEFT JOIN SYSOBJECTS B ON A.id = B.id
LEFT JOIN SYSTYPES C ON A.usertype = C.usertype
WHERE B.name = 'Pessoa' -- Nome da Tabela
Se você tem uma dica interessante, preencha o Formulário de contato do lado direito da página e nos envie.
Atenciosamente
Dica Chave.
Nenhum comentário:
Postar um comentário