mysql使用游标进行删除操作的存储过程_MySQL
BEGIN DECLARE hprocessInstanceId bigint DEFAULT 0; -- 历史流程实例id DECLARE hprocessInstanceIdStarttime CHAR default ''; -- 历史流程实例启动时间 DECLARE hprocessInstanceIdEndtime CHAR default ''; -- 历史流程实例结束时间 DECLARE hactinstId BIGINT default 0; -- 历史活动实例id DECLARE htaskId BIGINT default 0; -- 历史人工任务id DECLARE hvarId BIGINT default 0; -- 历史流程变量id DECLARE rexecutionId bigint default 0; -- 正在执行流程实例id DECLARE rvarId bigint default 0; -- 正在执行流程变量id DECLARE rtaskId bigint default 0; -- 正在执行人工任务id DECLARE rswinmlanceId bigint DEFAULT 0; -- 泳道id,为了删除partation表记录,本项目无记录 DECLARE processCompleteFlag int default 0; -- 流程是否结束标识 DECLARE taskCompleteFlag int default 0; -- 任务是否结束标识 DECLARE doneFlag INT DEFAULT 0; -- 完成标识,0:未完成;1:已完成 DECLARE notfound INT DEFAULT 0;-- 是否未找到数据 标记 -- 启动事物 -- START TRANSACTION; /* 声明历史流程实例的游标 */ DECLARE hprocessInstanceRS CURSOR FOR SELECT dbid_,START_,END_ FROM jbpm4_hist_procinst where START_>='2014-0-0 0:0:0' and START_<'2015-0-0 0:0:0'; /* 声明历史活动实例的游标 */ DECLARE hactinstRS CURSOR FOR SELECT dbid_,HTASK_ FROM jbpm4_hist_actinst where HPROCI_=hprocessInstanceId; /* 声明历史活动实例的游标 */ DECLARE htaskRS CURSOR FOR SELECT dbid_ FROM jbpm4_hist_task where DBID_=hactinstId; /* 声明历史活动实例的游标 */ DECLARE hvarRS CURSOR FOR SELECT dbid_ FROM jbpm4_hist_var where HTASK_=rtaskId; /** 声明正在执行流程实例的游标(历史表中因为各种原因未完成的) **/ DECLARE rexecutionRS CURSOR FOR SELECT dbid_ FROM jbpm4_execution where DBID_=hprocessInstanceId; /** 声明正在执行流程变量的游标(只删除2014年条件下由于各种原因未完成的流程实例所对应的流程变量) */ DECLARE rvarRS CURSOR FOR SELECT dbid_ FROM jbpm4_variable where EXECUTION_=hprocessInstanceId; /** 声明正在执行的人工任务的游标(只是2014年开始的流程实例所对应的) **/ DECLARE rtaskRS CURSOR FOR SELECT dbid_ FROM jbpm4_task where DBID_=rtaskId; /** 声明泳道的结果集游标,为了删除paritation表,该项目没有记录,实际删除条数为0 **/ DECLARE rswinmlanceRS CURSOR FOR SELECT dbid_ FROM jbpm4_swimlane where dbid_=rswinmlanceId; /* 异常处理 */ DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET doneFlag = 1; /** 删除s,使用嵌套循环..... **/ OPEN hprocessInstanceRS; FETCH hprocessInstanceRS INTO hprocessInstanceId,hprocessInstanceIdStarttime,hprocessInstanceIdEndtime;-- 获取历史流程实例表的数据数据 REPEAT IF hprocessInstanceIdEndtime='' THEN -- 没有结束,执行删除正在执行的流程实例表 /** 1.查询正在执行的流程实例记录s **/ SET rexecutionId=hprocessInstanceId; -- 未完成的流程实例与正在执行的流程实例id做对应 OPEN rexecutionRS; FETCH rexecutionRS INTO rexecutionId; REPEAT /** 2.查询该流程实例下的所有正在执行的流程变量记录s 2**/ OPEN hvarRS; FETCH hvarRS INTO rvarId; REPEAT /** 3.删除正在执行的流程变量所对应的人工任务记录s 3**/ delete from jbpm4_task where dbid_=rvarId; /** 3.删除正在执行的流程变量所对应的人工任务记录e 3**/ delete from jbpm4_variable where dbid_=rvarId; -- 单条删除流程变量记录 FETCH hvarRS INTO rvarId; UNTIL doneFlag END REPEAT; CLOSE hvarRS; /** 2.查询该流程实例下的所有正在执行的流程变量记录e 2**/ delete from jbpm4_execution where dbid_=rexecutionId; -- 单条删除流程对象记录 FETCH rexecutionRS INTO rexecutionId; UNTIL doneFlag END REPEAT; CLOSE rexecutionRS; END IF; /*** ======删除历史流程记录表相关数据===== **/ /** 1.查询活动实例表 s **/ OPEN hactinstRS; FETCH hactinstRS INTO hactinstId,htaskId; REPEAT /** 2.查询历史人工活动表记录s **/ OPEN htaskRS; FETCH htaskRS INTO htaskId; REPEAT /** 3.删除历史人工任务 **/ delete from jbpm4_hist_task where dbid_=htaskId; FETCH htaskRS INTO htaskId; UNTIL doneFlag END REPEAT; CLOSE htaskRS; /** 2.查询历史人工活动表记录s **/ FETCH hactinstRS INTO hactinstId,htaskId; UNTIL doneFlag END REPEAT; CLOSE hactinstRS; /** 1.查询活动实例表 e **/ /*** ======删除历史流程记录表相关数据===== **/ /** 删除历史活动实例表 **/ delete from jbpm4_hist_actinst where HPROCI_=hprocessInstanceId; SET doneFlag=0; FETCH hprocessInstanceRS INTO hprocessInstanceId,hprocessInstanceIdStarttime,hprocessInstanceIdEndtime;-- 获取历史流程实例表的数据数据 UNTIL doneFlag END REPEAT; CLOSE hprocessInstanceRS; END
使用嵌套之后,10万-百万条数据量删除非常慢,有什么解决方法没有?

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Windows 11 verfügt über eine scheinbar unbegrenzte Anzahl an Anpassungsmöglichkeiten, von Standardeinstellungen bis hin zu jeder Drittanbieter-App im Internet. Es gibt sogar Apps, die das Aussehen Ihres Mauszeigers ändern können. Das Ändern des Cursors ist eine großartige Möglichkeit, Ihrem Computer ein einzigartiges Aussehen zu verleihen. Sie müssen nicht auf jedem Computer den gleichen langweiligen Schwarz-Weiß-Zeiger anbringen. Aber trotzdem müssen Sie keine Software herunterladen, um das Aussehen Ihres Cursors zu ändern. Wie ändere ich das Aussehen des Cursors? Windows 11 bietet eine kleine Anpassungsmöglichkeit für den Cursor. Sie können den Cursor ändern, indem Sie in die Systemsteuerung gehen und dort Mausoptionen auswählen. Es erscheint ein neues Fenster mit dem Namen „Mauseigenschaften“. In den Mauseigenschaften können Sie Farbschema, Größe und Design ändern. Ihr Computer wird es natürlich tun

In „Zurück in die Zukunft 1999“ werden die Spieler mit vielen Level-Herausforderungen konfrontiert, und jedes Level bringt völlig andere Herausforderungen mit sich. Als eines der Level werden sicherlich viele Spieler darüber nachdenken. Sie wissen also, wie man dieses Level herausfordert Im Folgenden finden Sie auch relevante Freigabemethoden. Zurück in die Zukunft 1996-24 Freigabemethode 1. Nachdem Sie in einem Satz auf Level 30 gebrannt haben, warten Sie, bis der Boss betäubt ist, und verprügeln Sie ihn heftig. 2. Priorisieren Sie die Verwendung von Haupt-C und 142d, um in einer Runde zu brennen. 3. In der zweiten Runde nutzen Sie die kleinen Fähigkeiten der Hilfs- und Kindermädchen zum Brennen und die Hauptkarte C, um einen großen Zug zu bauen. 4. Der Boss wird in drei Runden betäubt und dann direkt mit seinen ultimativen Bewegungs- und Schadensfähigkeiten geschlagen.

Teilen Sie uns mit, wie Sie das Level von Ming Tide Fantasyland Schwierigkeitsgrad 3 bestehen. Viele Leute in Mingchao schließen Level 3 dieses Fantasy-Landes ab. Viele Freunde wissen noch nicht, was sie tun sollen, aber keine Sorge, der Herausgeber wird es Ihnen bringen Wenn Sie wissen, welche Strategien darin enthalten sind, kommen Sie vorbei und probieren Sie es aus. Wie kann man den Bell Turtle-Charakter im Schwierigkeitsgrad 3 bestehen? Durch die Stärkung der Resonanzfähigkeiten wird die Angriffseffizienz erhöht und der Schaden kann auch größer sein ausgetauscht. [Metapher] Wählen Sie aus den ersten drei Stufen: Sonne im Wald: Sie kann den Schaden von Ji Yan erheblich erhöhen. Wenn die Fertigkeit öfter verwendet wird, kann sie einen sehr guten kritischen Treffereffekt erzeugen. Schutzeinrichtung: Resonanztechnik verwenden

Die Auswahlsortierung ist ein aggressiver Algorithmus, der verwendet wird, um die kleinste Zahl aus einem Array zu finden und sie an der ersten Position zu platzieren. Das nächste zu durchlaufende Array beginnt am Index, nahe der Stelle, an der die kleinste Zahl platziert ist. Der Prozess der Auswahlsortierung wählt das erste kleinste Element in der Elementliste aus und platziert es an der ersten Position. Wiederholen Sie den gleichen Vorgang für die verbleibenden Elemente in der Liste, bis alle Elemente sortiert sind. Betrachten Sie die folgende Liste – erster Durchgang Sm=a[0]=30Sma[1]

Viele Freunde möchten ihre Computersysteme auf Win10 aktualisieren, wissen aber nicht, wie lange der Upgrade-Prozess dauern wird. Heute habe ich Ihnen eine detaillierte Einführung in die Zeit gegeben, die für die Aktualisierung auf Win10 erforderlich ist. Wie lange dauert die Aktualisierung auf Win10: 1. Sie variiert zwischen etwa 40 Minuten und 2/3 Stunden, abhängig von der Leistung des Computers jedes Benutzers. 2. Die Zeit zum Konfigurieren der Leistung ist ebenfalls unterschiedlich, was eng mit der Datenmenge im alten System zusammenhängt. 3. Wenn der Computer viele Dinge und eine mechanische Tastatur hat, wird er noch langsamer. 4. Wenn Sie ein Upgrade von Win7/8 auf Win10 durchführen, dauert es etwa eineinhalb Stunden. 5. Planen Sie vor dem Upgrade ausreichend Zeit ein, um wichtige Dinge zu sichern und Verluste zu vermeiden.

Ein kleines Abenteuer ist ein früher Zweig in Dragon's Dogma, wie kann diese Aufgabe also abgeschlossen werden? Spieler müssen zuerst zu Mevi gehen, diese Aufgabe hier im Supermarkt annehmen und Pillen kaufen, um diesen Zweig abzuschließen. Den detaillierten Inhalt finden Sie in diesem kleinen grafischen Leitfaden für Abenteuer und gemeinsam einen Blick darauf werfen. So überstehen Sie ein kleines Abenteuer in Dragon's Dogma 2: 1. Fahren Sie zunächst mit dem Ochsenkarren nördlich von Velenworth nach Meve. 2. Nachdem Sie in Mevi angekommen sind, gehen Sie zu Lunnais Requisiten, um Sie mitzunehmen, und führen Sie ein Gespräch mit dem NPC hier, um die Mission zu starten. 3. Dann betritt der Spieler den Laden hinter der Tür, spricht hier mit dem Onkel und kauft Pillen. 4. Kehren Sie nach dem Kauf zur Tür zurück und geben Sie dem NPC die Pillen. 5. Anschließend

Detaillierte Erklärung des Golang-Kompilierungsprozesses Golang (auch bekannt als Go) ist eine von Google entwickelte Programmiersprache. Sie zeichnet sich durch Einfachheit, Effizienz, Parallelität usw. aus und hat daher breite Aufmerksamkeit und Anwendung gefunden. Beim Programmieren mit Golang ist die Kompilierung ein sehr wichtiger Schritt. In diesem Artikel wird der Golang-Kompilierungsprozess ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Kompilierungsprozess der lexikalischen Analyse des Golang-Quellcodes (LexicalAnalysis) Der erste Schritt im Kompilierungsprozess ist das Wort

Freunde, der Herausgeber präsentiert euch heute einen detaillierten Strategievortrag über den Meditationstest des neuen Swordsman-Handyspiels. Werfen wir als Nächstes einen Blick auf die vom Herausgeber zusammengestellten Meditationsversuchsmethoden. Wenn Sie daran interessiert sind, probieren Sie es im Spiel aus. So bestehen Sie die Meditationsprüfung im neuen Swordsman-Handyspiel: Die Meditationsprüfung ist ziemlich anspruchsvoll. Hier ein paar Tipps. 1) Versuchen Sie beim Sammeln von Monstern, die ersten Monsterwellen während der letzten Welle in einem Restgesundheitszustand zu halten. 2) Der erste Angriffszustand wird verwendet, um die zweite Monsterwelle aufzufrischen und mit dem Ausbruch Ihrer eigenen Fähigkeiten zusammenzuarbeiten, um die Gesundheit der ersten und zweiten Monsterwelle schnell zu verringern. 3) Der zweite Angriffsstatus wird verwendet, um die letzte Monsterwelle in den letzten 10 Sekunden aufzufrischen, und der Bildschirm wird sofort mit einer Schadenswelle durch die einzigartigen Fertigkeiten gelöscht. Die verbleibenden wenigen Monster verwenden Fertigkeiten
