カーソルまたはループや一時テーブルを使用せずにt-sqlでこれを行う方法はありますか?多分動的SQLを使用することによって?データベース内のすべてのテーブル内の特定の列(動的SQL)から値を検索しますか?
データベースの各テーブルの最初の列から最大値を取得します。
syscolumnsを使用して、すべてのテーブルの名前と各テーブルの最初の列の名前を表示します。
以下の(動作しない)例では、syscolumnsをループして@tabnameと@colnameのすべての値を使用する方法を見つける必要があります。それをする方法はありますか?
declare @tabname sysname;
declare @colname sysname;
SELECT
name as [column name],
object_NAME(id) as [table name],
(select max(@colname) from @tabname) as [max col value]
from syscolumns
where colorder = 1
ご意見やご感想をお寄せください。
よろしく、Dave。
のようなクエリを使用することができます。これは実際にどのように使用できますか?各テーブルの最初の列から最大値を取得するには、動的SQLが必要です。以下のKannan氏が提供する答えは、列名を取得するという素晴らしい仕事です。動的SQLを使用して値を取得する必要があります。 –
ありがとうSean。はい、他の人々の要件は、このようなフォーラムの文脈から外されていると、常に非常に奇妙です。残念ながら、私はセキュリティ上の理由から文脈を詳しく説明することはできません。 – davehants