SQL 游标的简单使用例子:
DECLARE cur_MonthlyPolicy CURSOR FOR
SELECT DISTINCT T_POLICYPROPERTY.POLICYNAME FROM T_POLICYPROPERTY INNER JOIN T_POLICY ON T_POLICYPROPERTY.POLICYNAME=T_POLICY.POLICYNAME WHERE T_POLICY.PROTOTYPE='包月'
DECLARE @policyname VARCHAR(32)
BEGIN
OPEN cur_MonthlyPolicy FETCH NEXT FROM cur_MonthlyPolicy INTO @policyname
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO T_POLICYPROPERTY (POLICYNAME,NAME,NAMEVALUE) VALUES(@policyname,'ipfixTrafficLimit','0')
FETCH NEXT FROM cur_MonthlyPolicy INTO @policyname
END
CLOSE cur_MonthlyPolicy
DEALLOCATE cur_MonthlyPolicy
END
DECLARE cur_MonthlyPolicy CURSOR FOR
SELECT DISTINCT T_POLICYPROPERTY.POLICYNAME FROM T_POLICYPROPERTY INNER JOIN T_POLICY ON T_POLICYPROPERTY.POLICYNAME=T_POLICY.POLICYNAME WHERE T_POLICY.PROTOTYPE='包月'
DECLARE @policyname VARCHAR(32)
BEGIN
OPEN cur_MonthlyPolicy FETCH NEXT FROM cur_MonthlyPolicy INTO @policyname
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO T_POLICYPROPERTY (POLICYNAME,NAME,NAMEVALUE) VALUES(@policyname,'ipfixTrafficLimit','0')
FETCH NEXT FROM cur_MonthlyPolicy INTO @policyname
END
CLOSE cur_MonthlyPolicy
DEALLOCATE cur_MonthlyPolicy
END