Help with updating in out nested table parameter
I've been asked a question by a workmate, but I haven't been able to help him.
He's got these types:
CREATE OR REPLACE TYPE TP_COLTYPE AS OBJECT (
parametro varchar2(30 byte),
rango number(12,2),
color varchar2(15 byte)
CREATE OR REPLACE TYPE TP_COLTYPE_TAB AS TABLE OF TP_COLTYPE;
CREATE OR REPLACE TYPE TP_PARTYPE AS OBJECT (
perfil_comercial VARCHAR2(30),
subtendido VARCHAR2(2),
parametros TP_COLTYPE_TAB
/And he wants to create a procedure that has IN OUT TP_PARTYPE paramter so that he can modify the color column in all the records in the array. This is his try (which fails to compile):
CREATE OR REPLACE PROCEDURE getColoresUmbrales(p_parametros IN OUT TP_PARTYPE) IS
CURSOR c_partype IS SELECT parametro,rango FROM TABLE(p_parametros.parametros) FOR UPDATE;
BEGIN
FOR r_partype IN c_partype LOOP
UPDATE TABLE(p_parametros.parametros)
SET color = getColorUmbral(p_parametros.perfil_comercial,p_parametros.subtendido,r_partype.parametro,r_partype.parametro)
WHERE CURRENT OF c_partype;
END LOOP;
EXCEPTION WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20000,SQLERRM);
rollback;
END getColoresUmbrales;I don't think using a cursor is necessary nor efficient, but I have not managed to find the right way. I don't know what release he's working wiht, but I know it is 10g.
Could someone please help us?
I have coded this procedure which should do what we want:
CREATE OR REPLACE PROCEDURE getcoloresumbrales_fernando (
p_parametros IN OUT tp_partype_prueba_fernando
IS
BEGIN
FOR i IN 1 .. p_parametros.parametros.COUNT
LOOP
p_parametros.parametros (i).color :=
getColorUmbral (p_parametros.perfil_comercial,
p_parametros.subtendido,
p_parametros.parametros (i).rango,
p_parametros.parametros (i).rango
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
raise_application_error (-20000, SQLERRM);
ROLLBACK;
END getcoloresumbrales_fernando;
/But, how can I bulk it?
Thanks in advance.
Similar Messages
-
RFC connection, process a nested table parameter
We are encountering an issue that we need to use nested table parameter when creating connection between webdynpro and ABAP RFC module.
Heard from somewhere that nested table processing is not well supported at WebDynpro side, will it affect calling performance a lot? Do we have some methods to deal with this kind of parameter?Hi
Well refer this document which will really help you. If you have used a table within a table i dont think it should be a performance problem as long as it is defined as a Table Parameter in the RFC. But anyway refer to this document.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/webdynpro/effective web dynpro - adaptive rfc models
That should really help you out. Ensure that you dont give tables in Export or Import parameters.
Go through the document link and that should clear all your doubts.
regards
ravi -
MAC OS 10.6.8 Using Safari 5.1 Needing Help With Updating Adobe Flash
Hello-
Recently Adobe Flash installed an icon in my System Preferences and when I click the icon there are several tabs. One allows updates to check automatically. It says it will install the latest version of Flash without having to remove the previous version, but I have never been told that a newer version is available unless I clcik "check now." although "Check for updates automatically" is checked, I do not know where it tells me a newer version is available. Also, there has been 5 "newer versions" available since this icon was installed in System Prefeences, I have only found out about the newer versions when I clicked "Check Now." If I read that with this new way to install the latest Mac version of Flash does not require me to uninstall the previous version of Flash how do I install the most recent version of Flash? Does it come in an email?
Since it is not telling me that there is a more recent version of Flash unless I click "Check Now" should I still do it the way I used to install the latest version of flash? (The way before this icon was added to System Preferences)?
I would appreciate help with updating Flash to the most recent version. I used to uninstall the older version, restart the browser and download the most recent version and install it. It always worked find but this was before there was an Adobe icon in my system Preferences.Hello,
The way you used to do this (uninstall, restart the browser, etc.) is still definitely valid and probably the "safest" way to get a new version installed. Uninstalling shouldn't be required, but it definitely doesn't hurt. If you feel comfortable doing it the old way, please feel free to continue using that process.
As for notifications, this is a bit trickier, but in general you should be notified within 30 days (or so) after a new player is released. This usually occurs when the browser loads swf content. Clicking the button will, like you mention, immediately check. Another alternative to finding out when a new player is released is to subscribe to our Flash Player Releases feed.
Is there a way to be automatically notified when a new Flash Runtime release is made?
Thanks,
Chris -
HT201541 I need help with updating my browser.
I need help with updating my browser. Its telling me that Safari is outdated.
That is a very old version belonging to Snow Leopard. I take it you are not actually running Yosemite.
Upgrading to Yosemite
You can upgrade to Yosemite from Lion or directly from Snow Leopard. Yosemite can be downloaded from the Mac App Store for FREE.
Upgrading to Yosemite
To upgrade to Yosemite you must have Snow Leopard 10.6.8 or Lion installed. Download Yosemite from the App Store. Sign in using your Apple ID. Yosemite is free. The file is quite large, over 5 GBs, so allow some time to download. It would be preferable to use Ethernet because it is nearly four times faster than wireless.
OS X Mavericks/Yosemite- System Requirements
Macs that can be upgraded to OS X Yosemite
1. iMac (Mid 2007 or newer) - Model Identifier 7,1 or later
2. MacBook (Late 2008 Aluminum, or Early 2009 or newer) - Model Identifier 5,1 or later
3. MacBook Pro (Mid/Late 2007 or newer) - Model Identifier 3,1 or later
4. MacBook Air (Late 2008 or newer) - Model Identifier 2,1 or later
5. Mac mini (Early 2009 or newer) - Model Identifier 3,1 or later
6. Mac Pro (Early 2008 or newer) - Model Identifier 3,1 or later
7. Xserve (Early 2009) - Model Identifier 3,1 or later
To find the model identifier open System Profiler in the Utilities folder. It's displayed in the panel on the right.
Are my applications compatible?
See App Compatibility Table - RoaringApps.
Upgrading to Lion
If your computer does not meet the requirements to install Mavericks, it may still meet the requirements to install Lion.
You can purchase Lion at the Online Apple Store. The cost is $19.99 (as it was before) plus tax. It's a download. You will get an email containing a redemption code that you then use at the Mac App Store to download Lion. Save a copy of that installer to your Downloads folder because the installer deletes itself at the end of the installation.
Lion System Requirements
1. Mac computer with an Intel Core 2 Duo, Core i3, Core i5, Core i7,
or Xeon processor
2. 2GB of memory
3. OS X v10.6.6 or later (v10.6.8 recommended)
4. 7GB of available space
5. Some features require an Apple ID; terms apply. -
I have rolled out bunch of updates across few hundred workstation systems.
Few of the desktops have failed to install SOME of the updates and just can't get my head around as to why?
Looking at one of the workstations, I can see 5 updates are pending download at 0%.
Some of these fail after a while and with in Software Centre, I can see 'Help with updates - The software change returned error code 0x87D00215(-2016411115).'. Not exactly sure what this means, but I have tried clearing the cache and
rebooting the workstations few times.
(I have also tried to use Windows Update and install one of these manually, which worked.)Investigating this further, I have found the following in CAS.log:
ICcmContentTransferManager::ModifyJobPriority failed with error 0x87d00215 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
No need to change timeout settings ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Successfully created download request {ED6E9E5C-E806-43CA-9F93-49AC72D1DEAD} for content 53bf87a2-bedf-4def-b0ec-9637613c3429.1 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Requesting locations synchronously for content 99ddb078-b780-4605-8fac-9607fe56450d.1 with priority Foreground ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
The number of discovered DPs(including Branch DP and Multicast) is 1 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Calling back with the following distribution points ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Distribution Point='http://DPSERVER.com/SMS_DP_SMSPKG$/99ddb078-b780-4605-8fac-9607fe56450d', Locality='LOCAL' ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Requesting content 99ddb078-b780-4605-8fac-9607fe56450d.1, size(KB) 0, under context System with priority Foreground ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
ICcmContentTransferManager::ModifyJobPriority failed with error 0x87d00215 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
No need to change timeout settings ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Successfully created download request {67B7E59B-A386-4EA8-BF39-2EB64B108A6C} for content 99ddb078-b780-4605-8fac-9607fe56450d.1 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Requesting locations synchronously for content 61d33de7-9582-41e3-82fc-3e0f970b60f3.1 with priority Foreground ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
The number of discovered DPs(including Branch DP and Multicast) is 1 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Calling back with the following distribution points ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Distribution Point='http://DPSERVER.com/SMS_DP_SMSPKG$/61d33de7-9582-41e3-82fc-3e0f970b60f3', Locality='LOCAL' ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Requesting content 61d33de7-9582-41e3-82fc-3e0f970b60f3.1, size(KB) 0, under context System with priority Foreground ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
ICcmContentTransferManager::ModifyJobPriority failed with error 0x87d00215 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
No need to change timeout settings ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4)
Successfully created download request {12E48136-B545-4C42-9745-9FF97CE38D52} for content 61d33de7-9582-41e3-82fc-3e0f970b60f3.1 ContentAccess 01/06/2013 17:19:24 3316 (0x0CF4) -
I would really appreciate some help with my search & results page that is now throwing up the following error:
Warning: mysql_free_result() expects parameter 1 to be resource, null given in...... line (the line number refers to the following code:
mysql_free_result($RSsearchforsale);
mysql_free_result($RsSearchForSale2);
mysql_free_result($RsSearchForSale3);
mysql_free_result($RsSearchForSale4);
I am new to php and am setting up a dynamic site in Dreamweaver (thanks to the Missing Manual – very helpful). I apologise in advanced for my lengthy description of the problem (perhaps get yourself a drink before continuing!)
I have a Search page with 4 list menus where the user can select an option from ANY or ALL of the menus, if a menu is not selected the value posted to the results page will be 'zzz'.
On the results page I have 4 recordsets, all getting the correct results, only one recordset is required to run depending on how many of the menus from the search page have been selected and a test is run before executing the sql using a SWITCH statement checking how many of the menus had passed the 'zzz' values from the Search page if you see what I mean. The results page has Repeating Regions, Recordset Paging and Display Record Count. The exact result that I require are generated by this method.
THE PROBLEM, when a user makes a selection the first page of 10 results is fine, but the error message above is shown at the bottom of the page, AND when the user clicks NEXT to go to the next page of results THERE ARE NO RESULTS.
This is exactly what happens depending on how many menus selected and which recordset is used:
4 menus selected from Search: runs RSsearchforsale, results correct but 3 error messages on 1st page relating to mysql_free_result($RsSearchForSale2),mysql_free_result($RsSearchForSale3), & mysql_free_result($RsSearchForSale4). The display record count shows correct results found. NEXT page is empty of results and still shows the correct display record count as if it should be displaying the records, also has the same 3 error messages.
3 menus selected from Search: runs RsSearchForSale2, results correct but 3 error messages on 1st page relating to mysql_free_result($RSsearchforsale),mysql_free_result($RsSearchForSale3), & mysql_free_result($RsSearchForSale4). The display record count shows correct number of results. NEXT page shows results from the DEFAULT setting of the recordset and the Display record count reflects this new set of results. Also still shows the 3 mysql_free_results for RsSearchForSale2, 3 and 4.
2 menus selected from Search: runs RsSearchForSale3, results correct but 2 error messages on 1st page relating to mysql_free_result($RSsearchforsale) & mysql_free_result (RsSearchForSale4). The display record count is correct. NEXT page does exactly the same as described in above 3 menus selected.
1 menu selected from search: runs RsSearchForSale4, results correct but 1 error meaasge on 1st page, mysql_free_result($RSsearchforsale). Display record count is correct and again when NEXT page is selected does as described in above where 2 or 3 menus selected.
If you have gotten this far without falling asleep then thank you and well done! I have pasted my code below and I know its a lot to ask but please please can you give me an idea as to where or why I have gone wrong. I felt I was so close at perfecting this search and have been working on it for weeks now. I feel sure the problem is because I have 4 recordsets on the page but I could find no other way to get the exact results I wanted from the menus.
Looking forward to any help.
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_RSsearchforsale = 10;
$pageNum_RSsearchforsale = 0;
if (isset($_GET['pageNum_RSsearchforsale'])) {
$pageNum_RSsearchforsale = $_GET['pageNum_RSsearchforsale'];
$startRow_RSsearchforsale = $pageNum_RSsearchforsale * $maxRows_RSsearchforsale;
$varloc_RSsearchforsale = "mpl";
if (isset($_POST['location'])) {
$varloc_RSsearchforsale = $_POST['location'];
$vartype_RSsearchforsale = "vil";
if (isset($_POST['type'])) {
$vartype_RSsearchforsale = $_POST['type'];
$varprice_RSsearchforsale = "pr9";
if (isset($_POST['price'])) {
$varprice_RSsearchforsale = $_POST['price'];
$varbed_RSsearchforsale = "b5";
if (isset($_POST['beds'])) {
$varbed_RSsearchforsale = $_POST['beds'];
switch (true) {
case ($varloc_RSsearchforsale != 'zzz' && $vartype_RSsearchforsale != 'zzz' && $varprice_RSsearchforsale != 'zzz' && $varbed_RSsearchforsale != 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RSsearchforsale = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE location=%s AND price=%s AND type=%s AND beds=%s ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc_RSsearchforsale, "text"),GetSQLValueString($varprice_RSsearchforsale, "text"),GetSQLValueString($vartype_RSsearchforsale, "text"),GetSQLValueString($varbed_RSsearchforsale, "text"));
$query_limit_RSsearchforsale = sprintf("%s LIMIT %d, %d", $query_RSsearchforsale, $startRow_RSsearchforsale, $maxRows_RSsearchforsale);
$RSsearchforsale = mysql_query($query_limit_RSsearchforsale, $propertypages) or die(mysql_error());
$row_RSsearchforsale = mysql_fetch_assoc($RSsearchforsale);
if (isset($_GET['totalRows_RSsearchforsale'])) {
$totalRows_RSsearchforsale = $_GET['totalRows_RSsearchforsale'];
} else {
$all_RSsearchforsale = mysql_query($query_RSsearchforsale);
$totalRows_RSsearchforsale = mysql_num_rows($all_RSsearchforsale);
$totalPages_RSsearchforsale = ceil($totalRows_RSsearchforsale/$maxRows_RSsearchforsale)-1;
$queryString_RSsearchforsale = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_RSsearchforsale") == false &&
stristr($param, "totalRows_RSsearchforsale") == false) {
array_push($newParams, $param);
if (count($newParams) != 0) {
$queryString_RSsearchforsale = "&" . htmlentities(implode("&", $newParams));
$queryString_RSsearchforsale = sprintf("&totalRows_RSsearchforsale=%d%s", $totalRows_RSsearchforsale, $queryString_RSsearchforsale); } ?>
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_RsSearchForSale2 = 10;
$pageNum_RsSearchForSale2 = 0;
if (isset($_GET['pageNum_RsSearchForSale2'])) {
$pageNum_RsSearchForSale2 = $_GET['pageNum_RsSearchForSale2'];
$startRow_RsSearchForSale2 = $pageNum_RsSearchForSale2 * $maxRows_RsSearchForSale2;
$varloc2_RsSearchForSale2 = "mpl";
if (isset($_POST['location'])) {
$varloc2_RsSearchForSale2 = $_POST['location'];
$varprice2_RsSearchForSale2 = "p9";
if (isset($_POST['price'])) {
$varprice2_RsSearchForSale2 = $_POST['price'];
$vartype2_RsSearchForSale2 = "vil";
if (isset($_POST['type'])) {
$vartype2_RsSearchForSale2 = $_POST['type'];
$varbed2_RsSearchForSale2 = "b5";
if (isset($_POST['beds'])) {
$varbed2_RsSearchForSale2 = $_POST['beds'];
switch (true) {
case ($varloc2_RsSearchForSale2 == 'zzz'):
case ($varprice2_RsSearchForSale2 == 'zzz'):
case ($vartype2_RsSearchForSale2 == 'zzz'):
case ($varbed2_RsSearchForSale2 == 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RsSearchForSale2 = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE (location=%s AND price=%s AND type=%s) OR (location=%s AND price=%s AND beds=%s) OR (location=%s AND type=%s AND beds=%s) OR (price=%s AND type=%s AND beds=%s) ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc2_RsSearchForSale2, "text"),GetSQLValueString($varprice2_RsSearchForSale2, "text"),GetSQLValueString($vartype2_RsSearchForSale2, "text"),GetSQLValueString($varloc2_RsSearchForSale2, "text"),GetSQLValueString($varprice2_RsSearchForSale2, "text"),GetSQLValueString($varbed2_RsSearchForSale2, "text"),GetSQLValueString($varloc2_RsSearchForSale2, "text"),GetSQLValueString($vartype2_RsSearchForSale2, "text"),GetSQLValueString($varbed2_RsSearchForSale2, "text"),GetSQLValueString($varprice2_RsSearchForSale2, "text"),GetSQLValueString($vartype2_RsSearchForSale2, "text"),GetSQLValueString($varbed2_RsSearchForSale2, "text"));
$query_limit_RsSearchForSale2 = sprintf("%s LIMIT %d, %d", $query_RsSearchForSale2, $startRow_RsSearchForSale2, $maxRows_RsSearchForSale2);
$RsSearchForSale2 = mysql_query($query_limit_RsSearchForSale2, $propertypages) or die(mysql_error());
$row_RsSearchForSale2 = mysql_fetch_assoc($RsSearchForSale2);
if (isset($_GET['totalRows_RsSearchForSale2'])) {
$totalRows_RsSearchForSale2 = $_GET['totalRows_RsSearchForSale2'];
} else {
$all_RsSearchForSale2 = mysql_query($query_RsSearchForSale2);
$totalRows_RsSearchForSale2 = mysql_num_rows($all_RsSearchForSale2);
$totalPages_RsSearchForSale2 = ceil($totalRows_RsSearchForSale2/$maxRows_RsSearchForSale2)-1;
$queryString_RsSearchForSale2 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_RsSearchForSale2") == false &&
stristr($param, "totalRows_RsSearchForSale2") == false) {
array_push($newParams, $param);
if (count($newParams) != 0) {
$queryString_RsSearchForSale2 = "&" . htmlentities(implode("&", $newParams));
$queryString_RsSearchForSale2 = sprintf("&totalRows_RsSearchForSale2=%d%s", $totalRows_RsSearchForSale2, $queryString_RsSearchForSale2);
}?>
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_RsSearchForSale3 = 10;
$pageNum_RsSearchForSale3 = 0;
if (isset($_GET['pageNum_RsSearchForSale3'])) {
$pageNum_RsSearchForSale3 = $_GET['pageNum_RsSearchForSale3'];
$startRow_RsSearchForSale3 = $pageNum_RsSearchForSale3 * $maxRows_RsSearchForSale3;
$varloc3_RsSearchForSale3 = "mpl";
if (isset($_POST['location'])) {
$varloc3_RsSearchForSale3 = $_POST['location'];
$varprice3_RsSearchForSale3 = "p9";
if (isset($_POST['price'])) {
$varprice3_RsSearchForSale3 = $_POST['price'];
$vartype3_RsSearchForSale3 = "vil";
if (isset($_POST['type'])) {
$vartype3_RsSearchForSale3 = $_POST['type'];
$varbed3_RsSearchForSale3 = "b5";
if (isset($_POST['beds'])) {
$varbed3_RsSearchForSale3 = $_POST['beds'];
switch (true) {
case ($varloc3_RsSearchForSale3 == 'zzz' && $varprice3_RsSearchForSale3 == 'zzz'):
case ($varprice3_RsSearchForSale3 == 'zzz' && $vartype3_RsSearchForSale3 == 'zzz'):
case ($vartype3_RsSearchForSale3 == 'zzz' && $varbed3_RsSearchForSale3 == 'zzz' ):
case ($varbed3_RsSearchForSale3 == 'zzz' && $varloc3_RsSearchForSale3 == 'zzz'):
case ($varloc3_RsSearchForSale3 == 'zzz' && $vartype3_RsSearchForSale3 == 'zzz'):
case ($varprice3_RsSearchForSale3 == 'zzz' && $varbed3_RsSearchForSale3 == 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RsSearchForSale3 = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE (location=%s AND price=%s) OR (location=%s AND type=%s) OR (location=%s AND beds=%s) OR ( type=%s AND beds=%s) OR (price=%s AND type=%s) OR (price=%s AND beds=%s) ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc3_RsSearchForSale3, "text"),GetSQLValueString($varprice3_RsSearchForSale3, "text"),GetSQLValueString($varloc3_RsSearchForSale3, "text"),GetSQLValueString($vartype3_RsSearchForSale3, "text"),GetSQLValueString($varloc3_RsSearchForSale3, "text"),GetSQLValueString($varbed3_RsSearchForSale3, "text"),GetSQLValueString($vartype3_RsSearchForSale3, "text"),GetSQLValueString($varbed3_RsSearchForSale3, "text"),GetSQLValueString($varprice3_RsSearchForSale3, "text"),GetSQLValueString($vartype3_RsSearchForSale3, "text"),GetSQLValueString($varprice3_RsSearchForSale3, "text"),GetSQLValueString($varbed3_RsSearchForSale3, "text"));
$query_limit_RsSearchForSale3 = sprintf("%s LIMIT %d, %d", $query_RsSearchForSale3, $startRow_RsSearchForSale3, $maxRows_RsSearchForSale3);
$RsSearchForSale3 = mysql_query($query_limit_RsSearchForSale3, $propertypages) or die(mysql_error());
$row_RsSearchForSale3 = mysql_fetch_assoc($RsSearchForSale3);
if (isset($_GET['totalRows_RsSearchForSale3'])) {
$totalRows_RsSearchForSale3 = $_GET['totalRows_RsSearchForSale3'];
} else {
$all_RsSearchForSale3 = mysql_query($query_RsSearchForSale3);
$totalRows_RsSearchForSale3 = mysql_num_rows($all_RsSearchForSale3);
$totalPages_RsSearchForSale3 = ceil($totalRows_RsSearchForSale3/$maxRows_RsSearchForSale3)-1;
$queryString_RsSearchForSale3 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_RsSearchForSale3") == false &&
stristr($param, "totalRows_RsSearchForSale3") == false) {
array_push($newParams, $param);
if (count($newParams) != 0) {
$queryString_RsSearchForSale3 = "&" . htmlentities(implode("&", $newParams));
$queryString_RsSearchForSale3 = sprintf("&totalRows_RsSearchForSale3=%d%s", $totalRows_RsSearchForSale3, $queryString_RsSearchForSale3);
} ?>
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_RsSearchForSale4 = 10;
$pageNum_RsSearchForSale4 = 0;
if (isset($_GET['pageNum_RsSearchForSale4'])) {
$pageNum_RsSearchForSale4 = $_GET['pageNum_RsSearchForSale4'];
$startRow_RsSearchForSale4 = $pageNum_RsSearchForSale4 * $maxRows_RsSearchForSale4;
$varloc4_RsSearchForSale4 = "mpl";
if (isset($_POST['location'])) {
$varloc4_RsSearchForSale4 = $_POST['location'];
$vartype4_RsSearchForSale4 = "vil";
if (isset($_POST['type'])) {
$vartype4_RsSearchForSale4 = $_POST['type'];
$varprice4_RsSearchForSale4 = "p9";
if (isset($_POST['price'])) {
$varprice4_RsSearchForSale4 = $_POST['price'];
$varbed4_RsSearchForSale4 = "b5";
if (isset($_POST['beds'])) {
$varbed4_RsSearchForSale4 = $_POST['beds'];
switch (true) {
case ($varloc4_RsSearchForSale4 == 'zzz' && $vartype4_RsSearchForSale4 =='zzz' && $varprice4_RsSearchForSale4 == 'zzz'):
case ($varloc4_RsSearchForSale4 == 'zzz' && $varprice4_RsSearchForSale4 =='zzz' && $varbed4_RsSearchForSale4 == 'zzz'):
case ($varloc4_RsSearchForSale4 == 'zzz' && $varbed4_RsSearchForSale4 =='zzz' && $vartype4_RsSearchForSale4 == 'zzz'):
case ($varbed4_RsSearchForSale4 == 'zzz' && $vartype4_RsSearchForSale4 =='zzz' && $varprice4_RsSearchForSale4 == 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RsSearchForSale4 = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE location=%s OR price=%s OR type=%s OR beds=%s ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc4_RsSearchForSale4, "text"),GetSQLValueString($varprice4_RsSearchForSale4, "text"),GetSQLValueString($vartype4_RsSearchForSale4, "text"),GetSQLValueString($varbed4_RsSearchForSale4, "text"));
$query_limit_RsSearchForSale4 = sprintf("%s LIMIT %d, %d", $query_RsSearchForSale4, $startRow_RsSearchForSale4, $maxRows_RsSearchForSale4);
$RsSearchForSale4 = mysql_query($query_limit_RsSearchForSale4, $propertypages) or die(mysql_error());
$row_RsSearchForSale4 = mysql_fetch_assoc($RsSearchForSale4);
if (isset($_GET['totalRows_RsSearchForSale4'])) {
$totalRows_RsSearchForSale4 = $_GET['totalRows_RsSearchForSale4'];
} else {
$all_RsSearchForSale4 = mysql_query($query_RsSearchForSale4);
$totalRows_RsSearchForSale4 = mysql_num_rows($all_RsSearchForSale4);
$totalPages_RsSearchForSale4 = ceil($totalRows_RsSearchForSale4/$maxRows_RsSearchForSale4)-1;
$queryString_RsSearchForSale4 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_RsSearchForSale4") == false &&
stristr($param, "totalRows_RsSearchForSale4") == false) {
array_push($newParams, $param);
if (count($newParams) != 0) {
$queryString_RsSearchForSale4 = "&" . htmlentities(implode("&", $newParams));
$queryString_RsSearchForSale4 = sprintf("&totalRows_RsSearchForSale4=%d%s", $totalRows_RsSearchForSale4, $queryString_RsSearchForSale4);
}?>Hi David,
Thank you for your reply and patience, we are getting closer in spite of me!
Of course i needed to change the name of the recordset, i did that the first time i did it (when i got the error), the when i re did it i forgot, in my defense i was also trying to get a full understanding of the code using the W3Schools php reference and writing by the side of the code on a piece of paper what it meant in English.
Anyway after re doing the code correctly it still displayed all the records of my database but i realised that was because i was POSTING from the search form and when i changed it to the GET method I now get results when all 4 list menus are selected from and the paging works. After reading about the POST / GET method i chose the POST option, is the GET method a better option in my circumstance?
On my site now if the user selects from 1,2 or 3 of the menus rather than selecting the relevant records it displays the NO RESULT page, I would like my users to be able to select from all of the menus or ANY combination of the menus and find exact results for their search, for example if they only select a location and a price i want it display all records that match that location and price with any number of bedrooms and any Type of property: Perhaps this is due to how my list menus are set up, for each menu the first Item label is Location (or Beds or Type or Price) and the value i have left blank which i believe means that it will use the item label as the value, the second Item label for all menus is Any and again the value has been left blank. All other item labels have values relevant to database records.
I do look forward to your reply and cannot thank you enough for following this through with me, please continue to bare with me just a little more,
best regards
Tessimon
Date: Wed, 11 Nov 2009 06:56:24 -0700
From: [email protected]
To: [email protected]
Subject: Help with message please: Warning: mysql_free_result() expects parameter 1 to be resource, null given in...... line
You're not adding the WHERE clause to the SQL query. My example code uses $query_search. You need to change that variable to match the name of your recordset, i.e. $query_RSsearchforsale.
Moreover, the WHERE clause needs to go before ORDER BY.
$query_RSsearchforsale = "SELECT trueprice,`desc`, `propid`, `bathrooms`, `location`, `type`, `price`, `beds`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid ";
// Set a flag to indicate whether the query has a WHERE clause
$where = false;
// Loop through the associatiave array of expected search values
foreach ($expected as $var => $type) {
if (isset($_GET[$var])) {
$value = trim(urldecode($_GET[$var]));
if (!empty($value)) {
// Check if the value begins with > or <
// If so, use it as the operator, and extract the value
if ($value[0] == '>' || $value[0] == '<') {
$operator = $value[0];
$value = ltrim(substr($value, 1));
} elseif (strtolower($type) != 'like') {
$operator = '=';
// Check if the WHERE clause has been added yet
if ($where) {
$query_RSsearchforsale .= ' AND ';
} else {
$query_RSsearchforsale .= ' WHERE ';
$where = true;
// Build the SQL query using the right operator and data type
$type = strtolower($type);
switch($type) {
case 'like':
$query_RSsearchforsale .= "`$var` LIKE " . GetSQLValueString('%' .
$value . '%', "text");
break;
case 'int':
case 'double':
case 'date':
$query_RSsearchforsale .= "`$var` $operator " .
GetSQLValueString($value, "$type");
break;
default:
$query_RSsearchforsale .= "`$var` = " . GetSQLValueString($value,
"$type");
$query_RSsearchforsale .= ' ORDER BY detailstable.trueprice ASC';
> -
I need help installing latest updates for CS6. I have Win 7 and have tried updating from the Help - Updates menu. The error is: U43M1D207.
Thanks for your response. I am in the United States in So. Arizona.
Date: Fri, 5 Oct 2012 12:21:45 -0600
From: [email protected]
To: [email protected]
Subject: Help with updates for CS6
Re: Help with updates for CS6 created by Jeff A Wright in Downloading, Installing, Setting Up - View the full discussion
Crunkle1 you are welcome to work directly with our support team for guided assistance. If you go to http://www.adobe.com/ and select Help and Contact Us you should be given the option to contact our support team via telephone. Which country/region are you in?
Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/4752605#4752605
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/4752605#4752605
To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/4752605#4752605. In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in Downloading, Installing, Setting Up by email or at Adobe Community
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746. -
Hi friends,
In the below am trying to update a custom table using a call function in update task. I dont see the table getting updated can someone take a look at it and let me knw what the problem is? I have the commit work statement and also marked the function module as an update one in the attribute. Please help me . Thanks in advance! kathy
*& Include ZINBOUND_TEST
Report: ZINBOUND_TEST.
DATA: l_dest TYPE REF TO if_bgrfc_destination_inbound,
l_unit TYPE REF TO if_trfc_unit_inbound,
l_inb_dest TYPE bgrfc_main_i_dst,
lv_matid TYPE /sapapo/matid,
lv_matnr TYPE /sapapo/matnr,
lv_maktx type /SAPAPO/MAKTX,
lv_langu TYPE LANGU.
data: lt_product type STANDARD TABLE OF ZUPDATE,
ls_product type ZUPDATE.
lv_matid = '123'.
lv_langu = 'E'.
lv_maktx = 'Materia1'.
CALL FUNCTION 'Z_TEST' IN UPDATE TASK
EXPORTING
iv_matid = lv_matid
iv_maktx = lv_maktx
iv_langu = lv_langu .
COMMIT WORK.
select * from zupdate into corresponding fields OF TABLE lt_product.
if sy-subrc <> 0.
write 'no records added'.
else.
loop at lt_product into ls_product.
write: / ls_product-MATID,
ls_product-MAKTX.
endloop.
endif.
FUNCTION Z_TEST.
*"*"Update Function Module:
*"*"Local Interface:
*" IMPORTING
*" VALUE(IV_MATID) TYPE /SAPAPO/MATID
*" VALUE(IV_MAKTX) TYPE /SAPAPO/MAKTX
*" VALUE(IV_LANGU) TYPE LANGU
data: itab type standard table of zupdate,
wa_itab type zupdate.
wa_itab-matid = iv_matid.
wa_itab-maktx = iv_maktx.
wa_itab-langu = iv_langu.
append wa_itab to itab.
update zupdate from table itab .
ENDFUNCTION.
Edited by: ka reddy on Sep 24, 2009 4:14 PM
Edited by: ka reddy on Sep 24, 2009 4:15 PM
Edited by: ka reddy on Sep 24, 2009 4:16 PM
Edited by: ka reddy on Sep 24, 2009 4:17 PM
Edited by: ka reddy on Sep 24, 2009 4:21 PMHey Naimesh thanks for the reply. yeah i read that document way before and i started taking a stab at implementing it.
I started with update task to see how it behaves and then wanted to go with BGRFC tats when i had the update issue.
Now that am done with update i want to implement BGRFC.
I have modified the earlier prgm...Can you give me some ideas how to extend this? Thanks!
*& Include ZBGRFC_INBOUND_TEST
Report: ZBGRFC_INBOUND_TEST.
DATA: l_dest TYPE REF TO if_bgrfc_destination_inbound,
l_unit TYPE REF TO if_trfc_unit_inbound,
l_inb_dest TYPE bgrfc_main_i_dst,
lv_matid TYPE /sapapo/matid,
lv_matnr TYPE /sapapo/matnr,
lv_maktx type /SAPAPO/MAKTX,
lv_matid1 TYPE /sapapo/matid,
lv_matnr1 TYPE /sapapo/matnr,
lv_maktx1 type /SAPAPO/MAKTX,
lv_langu1 TYPE LANGU,
lv_langu TYPE LANGU.
data: lt_product type STANDARD TABLE OF ZUPDATE,
ls_product type ZUPDATE.
lv_matid = '125'.
lv_langu = 'E'.
lv_maktx = 'Materia3'.
**--Get the inbound destination for BGRFC.
IF l_inb_dest IS INITIAL.
SELECT SINGLE * FROM bgrfc_main_i_dst INTO l_inb_dest.
ENDIF.
l_dest = cl_bgrfc_destination_inbound=>create( l_inb_dest-destination ).
l_unit = l_dest->create_trfc_unit( ).
CALL FUNCTION 'Z_TEST' IN BACKGROUND UNIT l_unit
EXPORTING
iv_matid = lv_matid
iv_maktx = lv_maktx
iv_langu = lv_langu .
select * from zupdate into corresponding fields OF TABLE lt_product.
if sy-subrc <> 0.
write 'no records added'.
else.
loop at lt_product into ls_product.
write: / ls_product-MATID,
ls_product-MAKTX.
endloop.
endif.
Edited by: ka reddy on Sep 24, 2009 5:16 PM -
Need help with Update Join Query
Hello, I am trying to update PID of #child table with PID of #parent table if "lastname & firstname are matches in both table" but my update query is giving some error. Please help and correct the update query. I am also trying to remove any
blank space from starting and ending.
drop table #parent,#child
create table #parent (PID varchar(10), lastname varchar(50), firstname varchar(50))
insert into #parent values ('100','Josheph','Sumali')
insert into #parent values ('400','Karen','Hunsa')
insert into #parent values ('600','Mursan ',' Terry')
create table #child (PID varchar(10), lastname varchar(50), firstname varchar(50))
insert into #child values ('2','Josheph ','Sumali ')
insert into #child values ('5','Karen','Kunsi')
insert into #child values ('6','Mursan ','Terry ')
Update #child
set PID = p.PID
from #child C Join
#parent p ON c.LTRIM(RTRIM(lastname) = p.LTRIM(RTRIM(lastname)
AND c.LTRIM(RTRIM(firstname) = p.LTRIM(RTRIM(firstname)
/* Requested Output */
PID lastname firstname
100 Josheph Sumali
600 Mursan Terrycreate table #parent (PID varchar(10), lastname varchar(50), firstname varchar(50))
insert into #parent values ('100','Josheph','Sumali')
insert into #parent values ('400','Karen','Hunsa')
insert into #parent values ('600','Mursan ',' Terry')
create table #child (PID varchar(10), lastname varchar(50), firstname varchar(50))
insert into #child values ('2','Josheph ','Sumali ')
insert into #child values ('5','Karen','Kunsi')
insert into #child values ('6','Mursan ','Terry ')
Merge #child as t
Using #parent as p ON (LTRIM(RTRIM(t.lastname)) = LTRIM(RTRIM(p.lastname))
AND LTRIM(RTRIM(t.firstname)) = LTRIM(RTRIM(p.firstname)) )
When Matched Then
Update
set PID = p.PID;
update #child
Set lastname=LTRIM(RTRIM(lastname)), firstname= LTRIM(RTRIM(firstname));
update #parent
Set lastname=LTRIM(RTRIM(lastname)), firstname = LTRIM(RTRIM(firstname));
select * from #child
select * from #parent
drop table #parent,#child -
Please Help - LR update wipes out my catalog.
This seems an uncommon problem as I haven't found any other posts on it, but I'm having the issue that LR updates wipe out my catalog?! I've had LR4 for a couple years now. When the 4.4 update first came along awhile back, I accepted the download, and when I did so, to my horror my entire catalog was wiped out. I did a restore point (thus undoing the update) hoping that would restore the catalog, but it did not. I of course still had all of the files and side cars on my hard drive, but had to re-launch my most recent back up which had been a few weeks previous (I know, I know), and lost the history on the work I'd done on images after that.
Just now, when I launched LR, the update notice appeared. I did not accept the update as I felt is was a risk, and instead closed the box. Even so, my catalog was wiped out AGAIN.
My last back up was less than a week ago, but I'd done a lot of work on some images since then. While I know I can re-import the images themselves, I do not know if -- or HOW - I can re-import the side cars with the editing history (which I can see on my hard drive) back into Lightroom?!! Please help if you can. Thanks so much in advance.Jim, appreciate the reply. What I did after this happened was go to my most recent back up which was five days earlier, and I launched that. I then re-imported the files that had been imported post back up, some of which had been edited. As I'd replied to dj paige, the edits I'd done post-back up were there on the re-imported images, however unfortunately the history on them has been wiped out - or at least it no longer shows up in the catalog. But If I'm understanding you, I should have been able to locate the catalog as it was just before the update? Because I did not see a catalog more recent than what was in the back up folder and dated Sept 1st. Obviously I don't have a clear understanding of how this all works, so will have to do some studying up.
Thanks again. -
I am having a strange problem with an update query I am running. Here are the specifics:
1. I run a script that extracts qualifying rows form a source table (S1), performs some calculation,s and stores the results in a temporary table (T1).
2. The calculations stored in the temporary table (T1) are only for a subset of rows in the source table (S1).
3. The temporary table (T1) uses the same primary key values as the source table (T1).
4. Once the calculations are completed, I want to update a single column on the source table (S1.CalcValue) with the calculated value from the temporary table (T1.CalcValue).
The problem is that I am doing monthly updates so I run month 1, do some verification of the data and then update the source table. Then repeat the process for months 2 through n. When I run the update for the month 2 data, the prior month 1 data for the column is lost. Below is the update script which looks like it should work and only update on the matching keys between the temporary table (T1) and the source table (S1). I was wondering if anyone could let me know what is wrong with this script and why.
I am new to Oracle having worked extensively in SQL Server, so the syntax differences are killing me right now so any help would be appreciated.
Update script:
procedure update_rvu AS
BEGIN
--update the test.RVU table
update test.RVU S1
set S1.CalcRVU = ( select
T1.CalcRVU
from
TMP_RVU T1
where
S1.GroupId = T1.GroupId
and
S1.PatientId = T1.PatientId
and
S1.InvoiceId = T1.InvoiceId
and
S1.TransId = T1.TransId
commit;
END update_rvu;
Edited by: user9009311 on Apr 14, 2010 4:47 PMMost likely you want a WHERE clause in your update portion ... something like
update test.RVU S1
set S1.CalcRVU = ( select
T1.CalcRVU
from
TMP_RVU T1
where
S1.GroupId = T1.GroupId
and
S1.PatientId = T1.PatientId
and
S1.InvoiceId = T1.InvoiceId
and
S1.TransId = T1.TransId
where exists
select null
from tmp_rvu t11
where S1.GroupId = T11.GroupId
and S1.PatientId = T11.PatientId
and S1.InvoiceId = T11.InvoiceId
and S1.TransId = T11.TransId
)You can also look into using the MERGE command (if you're on version 10 or better you can perform update only operations with it). I personally find it more 'friendly' than correlated updates a lot of the time. -
Create table temp_sibs as
(select 1701 sib_1, 1702 sib_2 from dual
union all
select 1171,1172 from dual
union all
select 1701,1172 from dual
union all
select 1171,1174 from dual
union all
select 1173,1176 from dual
union all
select 2001,2004 from dual
union all
select 2001,2006 from dual
union all
select 2002,2006
from dual)
create table temp_sib_data as
(select 111 pid, 1701 sibid, 5 amt from dual
union all
select 111 pid, 1176 sibid, 5 from dual
union all
select 222 pid, 2006 sibid, 5 from dual
union all
select 333 pid, 2001 sibid, 5 from dual
union all
select 333 pid, 2002 sibid, 5 from dual
union all
select 333 pid, 1171 sibid, 5 from dual
First table is a lookup table that defines relationships sib_1 is related to sib_2
Second table consists of a column pid and column sibid which is either sib_1 or sib_2
The user would pass parameter pid and sibid and I want to update all the related rows with any matching sibid to 0.
It is like 1701 matches with 1702 and 1701 matches with 1174 so indirectly 1701 and 1174 match...and 1171 matches because
1171 matches with 1174
so all 1701,1702,1171,1172, 1173,1174,1176 match (indirectly with each other)
So for example if the user passes 333 pid and 2001 rows with 333,2001 and 333,2002 should update the amt to 0
and if the user passes 111 and 1176 than 1st 2 rows should be updated to 0.Hi,
try this:
DEFINE PID='333'
DEFINE sibid='2001'
-- SELECT is only for test.
-- Replace SELECT with: UPDATE TEMP_SIB_DATA SET AMT = 0
SELECT * FROM TEMP_SIB_DATA
WHERE PID = &PID AND SIBID IN (
WITH TEMP AS(
SELECT SIB_1, SIB_2 FROM TEMP_SIBS
START WITH SIB_1 = &&SIBID OR SIB_2 = &&SIBID
CONNECT BY NOCYCLE PRIOR SIB_2 = SIB_1
OR PRIOR SIB_1 = SIB_2
OR SIB_2 = PRIOR SIB_2
OR SIB_1 = PRIOR SIB_1
SELECT SIB_1 FROM TEMP
UNION ALL
SELECT SIB_2 FROM TEMP
);For pid=333 and sibid=2001 it returns desired records for update:
PID SIBID AMT
333 2001 5
333 2002 5For pid=111 and=1176 it returns one row - 1176 matches only with 1173 and 1173 doesn't match with any other rows,
so only 5th row, not first 2, should be updated ... maybe I missed something ?
PID SIBID AMT
111 1176 5 -
Hello,
i have a table like this:
create table test
(id number,
stat number,
id_num number);data in table:
insert into table test (id,stat,id_num) values (1,112,'');
insert into table test (id,stat,id_num) values (1,123,'');
insert into table test (id,stat,id_num) values (2,134,'');
insert into table test (id,stat,id_num) values (2,111,'');
insert into table test (id,stat,id_num) values (3,112,'');
insert into table test (id,stat,id_num) values (4,111,'');
insert into table test (id,stat,id_num) values (4,12,'');
insert into table test (id,stat,id_num) values (4,11,'');I want to update column id_num with sequence number under same ID.
Below is the table with correctly updated coloumn.
insert into table test (id,stat,id_num) values (1,112,1);
insert into table test (id,stat,id_num) values (1,123,2);
insert into table test (id,stat,id_num) values (2,134,1);
insert into table test (id,stat,id_num) values (2,111,2);
insert into table test (id,stat,id_num) values (3,112,1);
insert into table test (id,stat,id_num) values (4,111,1);
insert into table test (id,stat,id_num) values (4,12,2);
insert into table test (id,stat,id_num) values (4,11,3);Can someone give me a hint how to pull this off?
Thank you for your help!Hi,
what is the order of assigning the sequence within the same id?
You cannot rely on the order of row number as Oracle does not ensure that it is giving back the rows in the sequence in which they have been inserted.
I have assumed here that within the id the id_num is numbered ordered by stat:
MERGE INTO test a
USING (SELECT id, stat
, ROW_NUMBER () OVER (PARTITION BY id ORDER BY stat) AS val
FROM test) b
ON (a.id = b.id AND a.stat = b.stat)
WHEN MATCHED
THEN
UPDATE SET id_num = val;
SELECT *
FROM test
ORDER BY id, stat;
ID STAT ID_NUM
1 112 1
1 123 2
2 111 1
2 134 2
3 112 1
4 11 1
4 12 2
4 111 3Regards.
Al -
HOw to improve insert/update/select for nested table.
Hi All,
I think this is my second thread for nested table.
i just want to know what are the different ways available to improve the insert/update/select operation on Nested table.
Thanks in advance.By not using a nested table for data storage in the first place...
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:8135488196597
Perhaps Parallel Query/DML might give some relief. -
SQL Loader Constraints with Column Objects and Nested Tables
I am working on loading a Table that (god forbid) contains columns, column objects, and nested tables (which contains several depth of column objects). My question is does SQL Loader have a hidding undocumented feature where it states how the column objects must be grouped in refereneced to the nested tables within the loader file? I can load the various column objects, and nested tables fine right now, however, I am loading them all in strange and insane order. Can anyone answer this question? Thanks.
PeterI just noticed that my email is wrong. If you can help, plese send email to [email protected]
thanks.
Maybe you are looking for
-
InDesign. Is it possible to flattern linked images?
Quick question.. Is it possible to flatten or merge linked images in InDesign, rather than package or preflight which would double up on the size of images stored on our system. Also to solve the problem if images were moved or deleted. thanks Charl
-
My Outlook tasks have disappeared. Have update all software. How can I recover or fix?
-
I am trying to buy a Lightroom upgrade (from LR3) with a perpetual licence and with a student discount. If I go the student discount route on the web U get taken to the 'cloud' options which I don't want. Any help would be appreciated. Thanks. PS Is
-
Does anyone know how to remove RAW 2.3? This update clearly breaks auto-orientation of Nikon NEF files. How do I uninstall RAW 2.3 and return to a previous version? Thanks
-
Hello developers, I got a question for you guys and girls. I have to build a "cropping tool" for a website. The users will have to upload images to the server and if they want, they can choose to crop it (but only after the image was uploaded) so