{"id":27817,"date":"2024-03-16T09:17:29","date_gmt":"2024-03-16T09:17:29","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/"},"modified":"2024-03-22T11:57:27","modified_gmt":"2024-03-22T11:57:27","slug":"how-to-use-pl-sql-cursors-to-update-data-in-bulk","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/","title":{"rendered":"How to use PL\/SQL cursors to update data in bulk"},"content":{"rendered":"<p>To batch update data using PL\/SQL cursor, you can follow these steps: 1. Declare a cursor: Declare a cursor using the `CURSOR` keyword and define the cursor&#8217;s query statement. 2. Open the cursor: Open the cursor using the `OPEN` keyword and bind the query result set to the cursor. 3. Define variables: Declare one or more variables to store the data from the query result set. 4. Loop through the cursor: Use the `FETCH` keyword to retrieve the next row of data from the cursor and assign it to the corresponding variable. 5. Execute the update operation: Use the `UPDATE` statement to update the data in the table, using the variable values as the update parameters. 6. Close the cursor: Close the cursor using the `CLOSE` keyword. Below is an example code demonstrating how to use PL\/SQL cursor to batch update data:<\/p>\n<pre class=\"post-pre\">DECLARE\r\n<p>&nbsp;&nbsp;&nbsp;CURSOR&nbsp;c_emp&nbsp;IS<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;employee_id,&nbsp;salary<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;employees<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;department_id&nbsp;=&nbsp;50;&nbsp;\u2013&nbsp;\u5047\u8bbe\u8981\u66f4\u65b0\u7684\u6570\u636e\u5728\u90e8\u95e8ID\u4e3a50\u7684\u5458\u5de5\u4e2d<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;v_emp_id&nbsp;employees.employee_id%TYPE;<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;v_salary&nbsp;employees.salary%TYPE;\r\nBEGIN<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;OPEN&nbsp;c_emp;<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;LOOP<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FETCH&nbsp;c_emp&nbsp;INTO&nbsp;v_emp_id,&nbsp;v_salary;<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXIT&nbsp;WHEN&nbsp;c_emp%NOTFOUND;<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u2013&nbsp;\u5728\u8fd9\u91cc\u6267\u884c\u66f4\u65b0\u64cd\u4f5c<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UPDATE&nbsp;employees<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET&nbsp;salary&nbsp;=&nbsp;v_salary&nbsp;*&nbsp;1.1&nbsp;\u2013&nbsp;\u5047\u8bbe\u5c06\u5de5\u8d44\u589e\u52a010%<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;employee_id&nbsp;=&nbsp;v_emp_id;<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;END&nbsp;LOOP;<\/p>\r\n<p>&nbsp;&nbsp;&nbsp;CLOSE&nbsp;c_emp;\r\nEND;\r\n\/<\/p><\/pre>\n<p>Please note that in actual usage, you will need to modify the query statements and update logic of the cursor according to specific requirements. Additionally, this example only updates one column of a data table, you can modify and expand it as needed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To batch update data using PL\/SQL cursor, you can follow these steps: 1. Declare a cursor: Declare a cursor using the `CURSOR` keyword and define the cursor&#8217;s query statement. 2. Open the cursor: Open the cursor using the `OPEN` keyword and bind the query result set to the cursor. 3. Define variables: Declare one or [&hellip;]<\/p>\n","protected":false},"author":13,"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-27817","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 to use PL\/SQL cursors to update data in bulk - 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-to-use-pl-sql-cursors-to-update-data-in-bulk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to use PL\/SQL cursors to update data in bulk\" \/>\n<meta property=\"og:description\" content=\"To batch update data using PL\/SQL cursor, you can follow these steps: 1. Declare a cursor: Declare a cursor using the `CURSOR` keyword and define the cursor&#8217;s query statement. 2. Open the cursor: Open the cursor using the `OPEN` keyword and bind the query result set to the cursor. 3. Define variables: Declare one or [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/\" \/>\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-16T09:17:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T11:57:27+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\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=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"How to use PL\/SQL cursors to update data in bulk\",\"datePublished\":\"2024-03-16T09:17:29+00:00\",\"dateModified\":\"2024-03-22T11:57:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/\"},\"wordCount\":193,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/\",\"name\":\"How to use PL\/SQL cursors to update data in bulk - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T09:17:29+00:00\",\"dateModified\":\"2024-03-22T11:57:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use PL\/SQL cursors to update data in bulk\"}]},{\"@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\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to use PL\/SQL cursors to update data in bulk - 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-to-use-pl-sql-cursors-to-update-data-in-bulk\/","og_locale":"en_US","og_type":"article","og_title":"How to use PL\/SQL cursors to update data in bulk","og_description":"To batch update data using PL\/SQL cursor, you can follow these steps: 1. Declare a cursor: Declare a cursor using the `CURSOR` keyword and define the cursor&#8217;s query statement. 2. Open the cursor: Open the cursor using the `OPEN` keyword and bind the query result set to the cursor. 3. Define variables: Declare one or [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T09:17:29+00:00","article_modified_time":"2024-03-22T11:57:27+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"How to use PL\/SQL cursors to update data in bulk","datePublished":"2024-03-16T09:17:29+00:00","dateModified":"2024-03-22T11:57:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/"},"wordCount":193,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/","name":"How to use PL\/SQL cursors to update data in bulk - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T09:17:29+00:00","dateModified":"2024-03-22T11:57:27+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-use-pl-sql-cursors-to-update-data-in-bulk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use PL\/SQL cursors to update data in bulk"}]},{"@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\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27817","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=27817"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27817\/revisions"}],"predecessor-version":[{"id":62076,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27817\/revisions\/62076"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=27817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=27817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=27817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}