0
空ではないテーブルから行のみを選択する関数が必要です。私の最初の試み:空でないすべての行を選択します。
declare @col varchar(255), @cmd varchar(max);
DECLARE @Select VARCHAR(3000)
DECLARE @Werteneu VARCHAR(3000)
DECLARE @Tablename VARCHAR(3000)
SELECT @Tablename = 'AD'
DECLARE getinfo cursor for
SELECT c.name FROM sys.tables t JOIN sys.columns c ON t.Object_ID = c.Object_ID
WHERE t.Name = @Tablename
SELECT @Werteneu = @Tablename
OPEN getinfo
FETCH NEXT FROM getinfo into @col
WHILE @@FETCH_STATUS = 0
BEGIN
IF EXISTS (SELECT TOP 1 * FROM AD WHERE ' + @col + ' IS NOT NULL) BEGIN
END
FETCH NEXT FROM getinfo into @col
END
CLOSE getinfo
DEALLOCATE getinfo
exec ('select ' + @Werteneu + ' from AD')
「AD」をテストテーブルで置き換えてください。私の問題は、行が空ではあるがIF EXISTS (SELECT TOP 1 * FROM AD WHERE ' + @col + ' IS NOT NULL) BEGIN
が始まることです。
関数を作成するには、どこに 'create function'がありますか?また、SQL Server関数は動的SQLをサポートしていません。 –
こんにちはセバスチャン。 sys.tablesとsys.columnsを照会しているので、あなたが達成しようとしていることを教えてください。あなたが望む可能性の高いものの大部分は、Web上で利用可能なadmin SQL procsの例がおそらく数多くあります。行う。 –
このすべてのことは間違っています...なぜあなたはすべてのテーブル(空ではない)からすべての行を戻したいと思いますか?あなたの質問は何ですか?セキュリティはこれの一部ではないようです –