出于好奇,這個非常愚蠢的問題突然從我的腦海中冒了出來;我仍在學習如何在 SQL 中撰寫更好的代碼,但我發現自己處于必須檢查查詢結果是否存在的情況,然后,如果這是真的,則執行相同的確切查詢以創建新表. 代碼正在運行,并且考慮到我沒有處理大量資料,我沒有計算時間問題,但是......它只是丑陋,我想讓它更......吸引人?
這是我指的代碼:
[...]
IF EXISTS (SELECT *value*, COUNT(*) AS Repetitions
FROM *table*
GROUP BY *value*
HAVING COUNT(*) > 1)
SELECT *value*, COUNT(*) AS Repetitions
INTO dbo.*newtable*
FROM *table*
GROUP BY *data*
HAVING COUNT(*) > 1
ELSE
[...]
uj5u.com熱心網友回復:
做exists第一個是不必要的。
簡單地做
select <columns> into NewTable
From Table
where criteria;
if @@rowcount=0
begin
drop table NewTable;
end
else
begin
/* Actions if table created */
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/340101.html
標籤:sql-server 查询语句
