Существует ли ограничение на количество приложений и организация & rdquo; могу иметь?

Или вы хотите просто увидеть, имеет ли столбец только значения NULL (и, следовательно, вероятно, не используется)?

Дальнейшее разъяснение вопроса может помочь.

EDIT : Хорошо .. вот какой-то действительно грубый код, чтобы вы пошли ...

SET NOCOUNT ON
DECLARE @TableName Varchar(100)
SET @TableName='YourTableName'
CREATE TABLE #NullColumns (ColumnName Varchar(100), OnlyNulls BIT)
INSERT INTO #NullColumns (ColumnName, OnlyNulls) SELECT c.name, 0 FROM syscolumns c INNER JOIN sysobjects o ON c.id = o.id AND o.name = @TableName AND o.xtype = 'U'
DECLARE @DynamicSQL AS Nvarchar(2000)
DECLARE @ColumnName Varchar(100)
DECLARE @RC INT
    SELECT TOP 1 @ColumnName = ColumnName FROM #NullColumns WHERE OnlyNulls=0
    WHILE @@ROWCOUNT > 0
    BEGIN
        SET @RC=0
        SET @DynamicSQL = 'SELECT TOP 1 1 As HasNonNulls FROM ' + @TableName + ' (nolock) WHERE ''' + @ColumnName + ''' IS NOT NULL'
        EXEC sp_executesql @DynamicSQL
        set @RC=@@rowcount
        IF @RC=1
        BEGIN
            SET @DynamicSQL = 'UPDATE #NullColumns SET OnlyNulls=1 WHERE ColumnName=''' + @ColumnName + ''''
            EXEC sp_executesql @DynamicSQL
        END
        ELSE
        BEGIN
            SET @DynamicSQL = 'DELETE FROM #NullColumns WHERE ColumnName=''' + @ColumnName+ ''''
            EXEC sp_executesql @DynamicSQL
        END
    SELECT TOP 1 @ColumnName = ColumnName FROM #NullColumns WHERE OnlyNulls=0
    END

SELECT * FROM #NullColumns

DROP TABLE #NullColumns
SET NOCOUNT OFF

Да, есть более простые способы, но у меня есть встреча, чтобы идти прямо сейчас. Удачи!

-1
задан Petre-Daniel Puiu 13 July 2018 в 09:04
поделиться

1 ответ

Пол из Ткань здесь. Количество приложений в вашей организации ограничено. Однако мы рекомендуем группировать приложения в логических группах с помощью нескольких организаций.

1
ответ дан buser 17 August 2018 в 13:18
поделиться