我正在尝试使用limit关键字对数据库查询设置限制。
这是我当前没有限制关键字的工作查询。
class YourView(View):
def post(self, request, *args, **kwargs):
#get the selected quizs
quizs = request.POST.getlist('quiz-pids')
#retrieves thoses quizes from the database:
items = ItemBatch.objects.filter(pid__in=quizs)
#do something with each of them:
for item_batch in items:
#do something
pass
我想避免使用游标,但仍使用如下所示的limit关键字。
DECLARE
TYPE NESTED_TABLE_DECLARATION IS TABLE OF SCHEMA.TABLE_NAME%ROWTYPE;
NESTED_TABLE NESTED_TABLE_DECLARATION;
BEGIN
SELECT * BULK COLLECT INTO NESTED_TABLE FROM SCHEMA.TABLE_NAME;
END;
/
答案 0 :(得分:3)
在主查询中不能使用保留字Limit,这只能通过使用光标进行批量收集来优化服务器的内存。根据您的情况,在位置中使用 Rownum <100 。
SELECT * BULK COLLECT INTO NESTED_TABLE FROM SCHEMA.TABLE_NAME WHERE rownum <= 1000;
Oracle12c
SELECT * BULK COLLECT INTO NESTED_TABLE FROM SCHEMA.TABLE_NAME FETCH FIRST 1000 ROWS ONLY;