{"id":277,"date":"2008-10-12T10:21:52","date_gmt":"2008-10-12T09:21:52","guid":{"rendered":"http:\/\/bar-solutions.com\/wordpress\/?p=277"},"modified":"2008-10-12T10:21:52","modified_gmt":"2008-10-12T09:21:52","slug":"new-plsql-developer-plugins","status":"publish","type":"post","link":"https:\/\/blog.bar-solutions.com\/?p=277","title":{"rendered":"New PL\/SQL Developer plugins"},"content":{"rendered":"<p>The other day we had a presentation on <a title=\"Allround Automations\" href=\"http:\/\/www.allroundautomations.com\/plsqldev.html\" target=\"_blank\">PL\/SQL Developer<\/a> at <a title=\"AMIS Technology blog\" href=\"http:\/\/technology.amis.nl\/blog\/\" target=\"_blank\">AMIS<\/a>. Theo told a lot about the tool itself and he showed one of my newest plug-ins: Scrapbook. This is a plug in to make sort of a scrap of the current results of the SQL query you just executed.<\/p>\n<p><!--more--><\/p>\n<p> You could for instance use this to eye-ball the changes that occur in the database when you issue an Insert\/Update\/Delete statement. When you run your statement again, your old results will be overwritten. Using <a title=\"Scrapbook plug-n\" href=\"http:\/\/bar-solutions.com\/software\/download\/mytools\/ScrapBook.zip\" target=\"_blank\">scrapbook<\/a> you can make a copy of the data so you can keep it, while rerunning your statement. This could help when checking whether a statement does what it is supposed to. Of course you can \u2018easily\u2019 copy the results to Excel or some other tool and use that to compare the results, but for quick and easy access it\u2019s probably better to have it in the current application.<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/results-before-delete.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Select * from emp (before delete)\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"88\" alt=\"Select * from emp (before delete)\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/results-before-delete-thumb.jpg\" width=\"124\" border=\"0\" \/><\/a>select * from emp (before delete from emp where deptno = 20)<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/scrapresults.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Scrapbook\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"94\" alt=\"Scrapbook\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/scrapresults-thumb.jpg\" width=\"124\" border=\"0\" \/><\/a> Results on scrapbook<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/results-after-delete.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Select * from emp (after delete)\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"88\" alt=\"Select * from emp (after delete)\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/results-after-delete-thumb.jpg\" width=\"124\" border=\"0\" \/><\/a>select * from emp (after delete from emp where deptno = 20)<\/p>\n<p>&#160;<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/multiplestatements.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Multiple statements in SQL window\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"80\" alt=\"Multiple statements in SQL window\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/multiplestatements-thumb.jpg\" width=\"124\" align=\"left\" border=\"0\" \/><\/a><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/multiplestatementsexecuted.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Multiple statements executed  in SQL window\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"80\" alt=\"Multiple statements executed  in SQL window\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/multiplestatementsexecuted-thumb.jpg\" width=\"124\" align=\"right\" border=\"0\" \/><\/a>Then there was an issue about executing&#160; multiple statements. When you have multiple statements in a single SQL window, and you execute it then all results will be displayed in a separate tabsheet.<\/p>\n<p>&#160; <\/p>\n<p>&#160;<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/singlestatementwithselectionexecuted.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Single statement with selection executed\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"80\" alt=\"Single statement with selection executed\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/singlestatementwithselectionexecuted-thumb.jpg\" width=\"124\" align=\"left\" border=\"0\" \/><\/a><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/errormessage.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Errormessage\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"68\" alt=\"Errormessage\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/errormessage-thumb.jpg\" width=\"123\" align=\"right\" border=\"0\" \/><\/a>You can run a single query by selecting this query and execute this window. But if you fail to select a complete query then you will get an error telling you that an invalid SQL statement has been issued to the database.<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/errormessage.jpg\"><\/a><\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/singlestatementexecuted.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Single statement executed\" style=\"border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px\" height=\"80\" alt=\"Single statement executed\" src=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/singlestatementexecuted-thumb.jpg\" width=\"124\" align=\"right\" border=\"0\" \/><\/a>Alex asked if it was at all possible to run the current statement, by using a certain hotkey. Standard, this is unfortunately not possible. By using the <a title=\"execute current statement plug-in\" href=\"http:\/\/bar-solutions.com\/software\/download\/mytools\/ExecuteCurrentStatement.zip\" target=\"_blank\">execute current statement<\/a> plug-in you can execute the statement under the cursor, regardless of what you have selected in the window. The plug-in selects the current statement, runs it and returns control to the user.<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/singlestatementexecuted.jpg\"><\/a><\/p>\n<p>It takes some time to develop such a plug-in and it especially takes some time to figure out how to resolve the question, but that makes it fun to develop such a plug-in.<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/scrapresults1.jpg\"><\/a><\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<\/p>\n<p><a href=\"http:\/\/bar-solutions.com\/wordpress\/wp-content\/scrapresults1.jpg\">&#160;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The other day we had a presentation on PL\/SQL Developer at AMIS. Theo told a lot about the tool itself and he showed one of my newest plug-ins: Scrapbook. This is a plug in to make sort of a scrap of the current results of the SQL query you just executed.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,5,4],"tags":[],"class_list":["post-277","post","type-post","status-publish","format-standard","hentry","category-oracle","category-plsql","category-tools"],"_links":{"self":[{"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=\/wp\/v2\/posts\/277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=277"}],"version-history":[{"count":0,"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=\/wp\/v2\/posts\/277\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bar-solutions.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}