SQL ServerクエリをFirebirdに翻訳するのに問題があります
-
03-10-2019 - |
質問
私はFirebirdに慣れていないので、このT-SQLをFirebird SQLに翻訳するのが特に困難です。このコードは、ストアドプロシージャではなく、データベースの外側に保存されます。
DECLARE @NumTotal int
DECLARE @NumUsed int
SELECT @NumTotal = COUNT(*)
FROM "some_Table"
WHERE "CreatedOn"=@CreatedOn
SELECT @NumUsed = COUNT(*)
FROM "some_Table"
WHERE "CreatedOn"=@CreatedOn AND "UserID" IS NOT NULL
SELECT @NumUsed AS "NumUsed", @NumTotal AS "NumTotal"
エラーと私の実験から、基本的にこれをストアドプロシージャに入れることを余儀なくされていると思います。データベースからコードを除外している間にこれを行う方法はありますか?
解決
コードは、単一のクエリまで簡素化できます。
SELECT COUNT(*) AS numTotal,
(SELECT COUNT(*)
FROM YOUR_TABLE
WHERE userid IS NOT NULL
AND createdon = @createdon) AS numUsed
FROM YOUR_TABLE
WHERE createdon = @createdon
二重引用符を使用することは、珍しいキャラクターを逃れるためのANSIであり、その例では見られません。
所属していません StackOverflow