Well, for clarity, it would help to use a bit more actual code. When you say "open cursor," and then do the "fetch x into v-xxx," in real life, are you coding "open x" so the fetch statement is in the correct syntax (fetch x the cursor name into v_xxx the record name)?