tôi có danh sách các hồ sơ và đã tạo ra con trỏ để lặp qua mỗi bản ghi và kiểm tra điều kiện nhất định và trả lại hồ sơ mà nếu nó đáp ứng con trỏ của tôi là như sau:lấy hồ sơ từ con trỏ trong SQL
DECLARE @ID int
DECLARE @FromDate datetime, @ToDate datetime
DEClare @expid as int
set @expid = 839
DECLARE IDs CURSOR FOR
select patpid,fromdate,todate from tdp_ProviderAccomodationTariffPlan where fk_patid = 162 and fk_pacid = 36
OPEN IDs
FETCH NEXT FROM IDs into @ID,@FromDate,@ToDate
WHILE @@FETCH_STATUS = 0
BEGIN
print @ID
print @FromDate
print @ToDate
--SELECT patpid,rate,SType FROM tdp_ProviderAccomodationTariffPlan
--WHERE ('2012-12-27' BETWEEN @FromDate AND @ToDate) and fk_patid = 162 and fk_pacid = 36
FETCH NEXT FROM IDs into @ID,@FromDate,@ToDate
END
CLOSE IDs
DEALLOCATE IDs
trong con trỏ vòng lặp lấy bản ghi có id là '839', Vui lòng giúp tôi giải quyết vấn đề.
Vấn đề của bạn là gì? Con trỏ đang tìm nạp dữ liệu sai? Bạn có thể hiển thị dữ liệu nguồn không? –
tôi muốn lấy bản ghi có id = 839 từ vòng lặp, xem tôi đã nhận xét câu lệnh chọn trong mã mà tôi muốn viết câu lệnh chọn chỉ trả về một bản ghi trong đó id là 839 làm cách nào để làm điều đó – DharaPPatel
Tôi hiểu rồi. Tại sao bạn sử dụng con trỏ? Chỉ cần sử dụng câu lệnh 'SELECT' với mệnh đề' WHERE' –