我一直在尝试使用sql存储过程中的循环来打印表中两列的所有值,但是还没有运气。
CREATE PROCEDURE [usp_my_procedure_name]
AS
SET NOCOUNT ON;
BEGIN
DECLARE @User_ID INT =16
DECLARE @ID INT
DECLARE @Count INT
DECLARE @Count1 INT
DECLARE @Code VARCHAR(500)
SELECT @Count1= MAX(ID), @Count = MIN(ID)
FROM ABC
WHERE ID = 10 AND Code NOT LIKE '%ABC%'
WHILE (@Count <= @count1)
BEGIN
SELECT @ID = (ID), @Code = Code
FROM ABC
WHERE ID = 10 AND Code NOT LIKE '%ABC%
PRINT @ID
PRINT @Code
SET @Count = @Count + 1
END
END
还有7k条记录,该如何进一步优化
答案 0 :(得分:1)
尝试一下,并与我们分享它给您带来的好处以及理想的结果(与ABC分享一些输入行)。
CREATE PROCEDURE [usp_my_procedure_name]
AS
SET NOCOUNT ON;
BEGIN
SELECT Distinct ID, Code
FROM ABC
WHERE Code NOT LIKE '%ABC%
ORDER BY ID
END