DECLARE @SQL nvarchar(512)
DECLARE @Count INT = -1
SET @SQL = 'DELETE TOP (1000) FROM [資料庫名稱] OPTION ( MAXDOP 1 )';
WHILE @Count <> 0
BEGIN
BEGIN TRAN
exec sp_executesql @SQL
SET @Count = @@ROWCOUNT
COMMIT
END
Roger 發表在 痞客邦 留言(0) 人氣(1,612)
IF NOT EXISTS(SELECT * FROM Clock WHERE clockDate = '2018/01/01')
BEGIN
INSERT INTO Clock (
clockDate, userName, breakOut
) VALUES(
'2018/01/01', 'test', '2018/01/31'
)
END
Roger 發表在 痞客邦 留言(0) 人氣(10,776)
SELECT E_Mail,
CASE WHEN E_Mail LIKE '%_@_%_.__%'
THEN 'Valid'
ELSE 'No valid'
END [Validate]
FROM 資料表
Roger 發表在 痞客邦 留言(0) 人氣(405)

單純的只是想把某一欄的值做合併,但資料太多的話,程式效能也不大好
SQL 的語法有提供了合併的語法,FOR XML PATH(''),方便使用
Roger 發表在 痞客邦 留言(0) 人氣(2,668)
![[MS SQL] 從連續編號中取出跳號的值 [MS SQL] 從連續編號中取出跳號的值](https://i.imgur.com/evWWGHc.jpg)
DECLARE @NewID bigint = 0
DECLARE @table_temp TABLE(tb_id bigint)
DECLARE @max INT, @min INT
-- 取最小值
SET @min = (SELECT MIN(tb_id) FROM dbo.table01)
-- 取最大值
SET @max = (SELECT MAX(tb_id) FROM dbo.table01)
Roger 發表在 痞客邦 留言(0) 人氣(1,613)

-- 設定啟始值
DECLARE @min INT = 1
-- 跑迴圈
WHILE @min <= 10
BEGIN -- 迴圈開始
PRINT @min -- 顯示結果
SET @min = @min + 1 -- 圈迴的值+1
END -- 迴圈結束
Roger 發表在 痞客邦 留言(0) 人氣(2,170)

刪除資料後,如何重新流水號,剛好碰到這問題,記錄一下語法,以防將來忘記了。
原始資料如下
Roger 發表在 痞客邦 留言(0) 人氣(396)
IF EXISTS(SELECT 1 FROM Prog_Stock WHERE Prog_No = '產品編號' AND Prog_Color = '顏色')
UPDATE Prog_Stock SET 庫存量 = 庫存量 + 現有數量 WHERE Prog_No = '產品編號'
ELSE
INSERT INTO Prog_Stock(Prog_No,Prog_Color,Prog_Stock) VALUES ('產品編號','顏色','庫存量')
Roger 發表在 痞客邦 留言(0) 人氣(2,264)
紅色的字,換成要查詢的「資料庫」名稱
USE DatabaseName
Roger 發表在 痞客邦 留言(0) 人氣(6,189)
假設有 [Users] 資料表及 [Work] 資料表
[Users] 需每天登入填寫今天的 [Work] 時間
Roger 發表在 痞客邦 留言(0) 人氣(522)