それで、物事を説明するための私たちのシステムの少しの背景。
私たちのデータベースはバージョンです(おそらくほとんどがそうです)。データベースに「DBVersion」というテーブルがあります。ただし、数か月前にliquibaseに移行しました。そして今、DATABASECHANGELOGテーブルがあります。
残念ながら、私たちはデータベースに関してはかなり組織化されていない会社です。そのため、クライアントのバージョンを知ることができるビューを作成しようとしています。
正直なところ、どこから始めればいいのかさえわかりません。しかし、これを可能にする複数のCASEステートメントを記述できると思いました。SPsp_msforeachdbを使用してビューを実行します。
SELECT
Case when id = '8.12' then '8.12'
End as Version
From DATABASECHANGELOG
Where id = '8.12'
私はこのようなことをしたいと思います:
CASE
WHEN (SELECT ID FROM DATABASECHANGELOG WHERE ID = '8.12' IF NULL CONTINUE)
WHEN (SELECT VERSION FROM DBVERSION, IF > 400 && < 425 THEN PRINT 'VERSION 8.7'
上記のクエリはSQLでもないことは知っていますが、それはあなたにアイデアを与えます。Liquibaseを使用したバージョンは、8.10、8.11、8.12に加えて、将来のすべてのバージョンです。8.10未満のすべては、単純な数値範囲となるwatsonバージョンを使用しています。
これがあまりにも混乱している場合は申し訳ありません。