存储过程中,要用到游标的话是不是不可以用EXECUTE执行SQL语句,帮我看一下源代码!
DECLARE @SQL_STR VARCHAR(100)
SELECT @SQL_STR='UNIT_CODE=13 AND UNIT=34' //@SQL_STR主要存复杂的SQL语句
DECLARE FORM_LIST_REL_CURSOR CURSOR FOR
EXECUTE ('SELECT UNIT_NAME FROM UNIT_REL WHERE ' + SQL_STR) //在这里利用execute执行SQL语句提示execute执行错误
//SELECT G_UNIT_NAME FROM TABLE1 WHERE ENTRY_ID='12345' //如果直接运行的话是没问题的
OPEN FORM_LIST_REL_CURSOR //是不是要用到游标的话,不可以用EXECUTE执行SQL语句
FETCH NEXT FROM FORM_LIST_REL_CURSOR INTO @G_UNIT_NAME
WHILE @@FETCH_STATUS = 0
BEGIN
.........
.........
FETCH NEXT FROM FORM_LIST_REL_CURSOR INTO @G_UNIT_NAME
END
CLOSE FORM_LIST_REL_CURSOR
DEALLOCATE FORM_LIST_REL_CURSOR