{"id":28393,"date":"2024-03-16T10:15:13","date_gmt":"2024-03-16T10:15:13","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/"},"modified":"2024-03-22T13:21:04","modified_gmt":"2024-03-22T13:21:04","slug":"how-can-we-use-a-cursor-in-oracle","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/","title":{"rendered":"How can we use a cursor in Oracle?"},"content":{"rendered":"<p>The usage of Oracle cursor is as follows:<\/p>\n<ol>\n<li>Make an official statement<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">DECLARE<\/span>\r\n  cursor_name <span class=\"hljs-keyword\">CURSOR<\/span> <span class=\"hljs-keyword\">FOR<\/span> <span class=\"hljs-keyword\">SELECT<\/span> column1, column2, ... <span class=\"hljs-keyword\">FROM<\/span> table_name;\r\n<\/code><\/pre>\n<ol>\n<li>Unlocked<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">OPEN<\/span> cursor_name;\r\n<\/code><\/pre>\n<ol>\n<li>Go and get<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">FETCH<\/span> cursor_name <span class=\"hljs-keyword\">INTO<\/span> variable1, variable2, ...;\r\n<\/code><\/pre>\n<ol>\n<li>Circle<\/li>\n<li>Although<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>LOOP\r\n  <span class=\"hljs-comment\">-- \u5904\u7406\u6570\u636e\u7684\u903b\u8f91<\/span>\r\n  ...\r\n  \r\n  <span class=\"hljs-comment\">-- \u8bfb\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55<\/span>\r\n  <span class=\"hljs-keyword\">FETCH<\/span> cursor_name <span class=\"hljs-keyword\">INTO<\/span> variable1, variable2, ...;\r\n  \r\n  <span class=\"hljs-comment\">-- \u9000\u51fa\u5faa\u73af\u6761\u4ef6<\/span>\r\n  EXIT <span class=\"hljs-keyword\">WHEN<\/span> cursor_name<span class=\"hljs-operator\">%<\/span>NOTFOUND;\r\n<span class=\"hljs-keyword\">END<\/span> LOOP;\r\n<\/code><\/pre>\n<p>\n&#8220;or&#8221;<\/p>\n<pre class=\"post-pre\"><code>WHILE cursor_name<span class=\"hljs-operator\">%<\/span>FOUND LOOP\r\n  <span class=\"hljs-comment\">-- \u5904\u7406\u6570\u636e\u7684\u903b\u8f91<\/span>\r\n  ...\r\n  \r\n  <span class=\"hljs-comment\">-- \u8bfb\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55<\/span>\r\n  <span class=\"hljs-keyword\">FETCH<\/span> cursor_name <span class=\"hljs-keyword\">INTO<\/span> variable1, variable2, ...;\r\n<span class=\"hljs-keyword\">END<\/span> LOOP;\r\n<\/code><\/pre>\n<ol>\n<li>Shut down<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">CLOSE<\/span> cursor_name;\r\n<\/code><\/pre>\n<p>Before using a cursor, it is necessary to first define the type of cursor and the list of fields to be returned, and to open the cursor using the OPEN statement. After using it, the cursor should be closed using the CLOSE statement to release resources.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The usage of Oracle cursor is as follows: Make an official statement DECLARE cursor_name CURSOR FOR SELECT column1, column2, &#8230; FROM table_name; Unlocked OPEN cursor_name; Go and get FETCH cursor_name INTO variable1, variable2, &#8230;; Circle Although LOOP &#8212; \u5904\u7406\u6570\u636e\u7684\u903b\u8f91 &#8230; &#8212; \u8bfb\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55 FETCH cursor_name INTO variable1, variable2, &#8230;; &#8212; \u9000\u51fa\u5faa\u73af\u6761\u4ef6 EXIT WHEN cursor_name%NOTFOUND; END LOOP; [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-28393","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How can we use a cursor in Oracle? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can we use a cursor in Oracle?\" \/>\n<meta property=\"og:description\" content=\"The usage of Oracle cursor is as follows: Make an official statement DECLARE cursor_name CURSOR FOR SELECT column1, column2, ... FROM table_name; Unlocked OPEN cursor_name; Go and get FETCH cursor_name INTO variable1, variable2, ...; Circle Although LOOP -- \u5904\u7406\u6570\u636e\u7684\u903b\u8f91 ... -- \u8bfb\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55 FETCH cursor_name INTO variable1, variable2, ...; -- \u9000\u51fa\u5faa\u73af\u6761\u4ef6 EXIT WHEN cursor_name%NOTFOUND; END LOOP; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T10:15:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T13:21:04+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How can we use a cursor in Oracle?\",\"datePublished\":\"2024-03-16T10:15:13+00:00\",\"dateModified\":\"2024-03-22T13:21:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\"},\"wordCount\":75,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\",\"name\":\"How can we use a cursor in Oracle? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T10:15:13+00:00\",\"dateModified\":\"2024-03-22T13:21:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can we use a cursor in Oracle?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How can we use a cursor in Oracle? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/","og_locale":"en_US","og_type":"article","og_title":"How can we use a cursor in Oracle?","og_description":"The usage of Oracle cursor is as follows: Make an official statement DECLARE cursor_name CURSOR FOR SELECT column1, column2, ... FROM table_name; Unlocked OPEN cursor_name; Go and get FETCH cursor_name INTO variable1, variable2, ...; Circle Although LOOP -- \u5904\u7406\u6570\u636e\u7684\u903b\u8f91 ... -- \u8bfb\u53d6\u4e0b\u4e00\u6761\u8bb0\u5f55 FETCH cursor_name INTO variable1, variable2, ...; -- \u9000\u51fa\u5faa\u73af\u6761\u4ef6 EXIT WHEN cursor_name%NOTFOUND; END LOOP; [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T10:15:13+00:00","article_modified_time":"2024-03-22T13:21:04+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How can we use a cursor in Oracle?","datePublished":"2024-03-16T10:15:13+00:00","dateModified":"2024-03-22T13:21:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/"},"wordCount":75,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/","name":"How can we use a cursor in Oracle? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T10:15:13+00:00","dateModified":"2024-03-22T13:21:04+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-use-a-cursor-in-oracle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can we use a cursor in Oracle?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=28393"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28393\/revisions"}],"predecessor-version":[{"id":62689,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/28393\/revisions\/62689"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=28393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=28393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=28393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}