Sponsored Content
Top Forums Programming PL/SQL heartbeat Query has errors Post 302795255 by sdohn on Wednesday 17th of April 2013 01:03:46 PM
Old 04-17-2013
PL/SQL heartbeat Query has errors

Hello, I want to query something simple which works as a standalone sqlplus query perfectly:

Table statements:
Code:
ALTER TABLE MP$PATHLOADER.ISALIVE
 DROP PRIMARY KEY CASCADE;

DROP TABLE MP$PATHLOADER.ISALIVE CASCADE CONSTRAINTS;

CREATE TABLE MP$PATHLOADER.ISALIVE
(
   ISALIVE_PK   NUMBER,
   INSERTTS     TIMESTAMP (6) NOT NULL,
   UPDATETS     TIMESTAMP (6) NOT NULL,
   VERSIONID    NUMBER NOT NULL,
   NAME         VARCHAR2 (256 CHAR) NOT NULL,
   ACTIVE       NUMBER (1) DEFAULT 0 NOT NULL
);


CREATE UNIQUE INDEX MP$PATHLOADER.ISALIVE_PK
   ON MP$PATHLOADER.ISALIVE (ISALIVE_PK);


ALTER TABLE MP$PATHLOADER.ISALIVE
ADD (  CONSTRAINT ISALIVE_PK PRIMARY KEY (ISALIVE_PK)
USING INDEX MP$PATHLOADER.ISALIVE_PK);

A Testvalue as follow:
Code:
Insert into MP$PATHLOADER.ISALIVE
   (ISALIVE_PK, 
    INSERTTS, UPDATETS, VERSIONID, NAME, ACTIVE)
 Values
   (3, TO_TIMESTAMP('01/21/2013 15:29:02,000000','MM/DD/YYYY HH24:MI:SS,FF'), TO_TIMESTAMP('01/24/2013 13:49:40,013000','MM/DD/YYYY HH24:MI:SS,FF'), 8781, '010123vb', 
    1);

And now the query for getting the differences in minutes between the timestamps:

Code:
(SELECT ABS (
             TO_NUMBER (TO_CHAR (updatets, 'dd')) * 24 * 60
           + TO_NUMBER (TO_CHAR (updatets, 'hh24')) * 60
           + TO_NUMBER (TO_CHAR (updatets, 'mi'))
           - TO_NUMBER (TO_CHAR (SYSDATE, 'dd')) * 24 * 60
           - TO_NUMBER (TO_CHAR (SYSDATE, 'hh24')) * 60
           - TO_NUMBER (TO_CHAR (SYSDATE, 'mi')))
           AS BACKLOG_MINUTES
   FROM MP$PATHLOADER.ISALIVE
  WHERE active = '1');

But then in a PL/SQL Script this does not further work anymore:

Code:
SET SERVEROUTPUT ON
SET FEEDBACK OFF

DECLARE
   CTABLES   VARCHAR2 (20);
BEGIN
   EXECUTE IMMEDIATE
      (SELECT ABS (
                   TO_NUMBER (TO_CHAR (updatets, 'dd')) * 24 * 60
                 + TO_NUMBER (TO_CHAR (updatets, 'hh24')) * 60
                 + TO_NUMBER (TO_CHAR (updatets, 'mi'))
                 - TO_NUMBER (TO_CHAR (SYSDATE, 'dd')) * 24 * 60
                 - TO_NUMBER (TO_CHAR (SYSDATE, 'hh24')) * 60
                 - TO_NUMBER (TO_CHAR (SYSDATE, 'mi')))
         INTO CTABLES
         FROM MP$PATHLOADER.ISALIVE
        WHERE active = '1');

   DBMS_OUTPUT.PUT_LINE (CTABLES);
END;
/

Could someone lend me his helping hand, please!

Thanks a lot!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

& in SQL query

I have a script that looks for all jobs that contain a particular calendar. Some of the calendars have '&' in them and sql freaks out when it encounters that.. is there a way around this? I have tried: select job_name from job where run_calendar='1&15dom' select job_name from job... (3 Replies)
Discussion started by: Lindarella
3 Replies

2. Shell Programming and Scripting

rsh and sql query

Hi ... I am doing a switch user and then rsh and then running a sql query . I am successfull in rsh and logging into the database , but my query doesnt run .. Here's the command : su - linus -c "rsh -l linus psmf ORACLE_SID=SMP;export ORACLE_SID;sqlplus... (1 Reply)
Discussion started by: sars
1 Replies

3. Shell Programming and Scripting

how to handle sql loader errors in unix

hi all, how to handle sql loader errors in unix shell ?? thanks in advance gemini (3 Replies)
Discussion started by: gemini106
3 Replies

4. UNIX and Linux Applications

SQL Lite query

Hello Everyone, I am looking to write a script that will run on many machines in a network at the same time. They need to write a result to a common location. I plan to use a SQLlite database as this common writing point. But the concern I have is how SQLlite will react to multiple writes that... (1 Reply)
Discussion started by: garric
1 Replies

5. Shell Programming and Scripting

How to use sql data file in unix csv file as input to an sql query from shell

Hi , I used the below script to get the sql data into csv file using unix scripting. I m getting the output into an output file but the output file is not displayed in a separe columns . #!/bin/ksh export FILE_PATH=/maav/home/xyz/abc/ rm $FILE_PATH/sample.csv sqlplus -s... (2 Replies)
Discussion started by: Nareshp
2 Replies

6. Shell Programming and Scripting

create sql query

Hi Everyone, Can anyone pls help me out......with my requirement, i am struggling since 3 days. Please find the requirement below my file contains below data R1|Array/Network Resistor - VIP|V_RES_CLASS|V_MOUNT_FEATURE|SURFACE MOUNT|AND|8533.10.00.20|8533.10.00.20| R1|Array/Network Resistor... (9 Replies)
Discussion started by: jam_prasanna
9 Replies

7. Shell Programming and Scripting

problem in SQL query

I used the following code code select * from tablename where columnname Instead of printing the expected output it prints all the files in the present directory since there is a "*" in the code. Is there any way to overcome the problem? Thanks Ananth (2 Replies)
Discussion started by: Ananthdoss
2 Replies

8. Shell Programming and Scripting

Run SQL thru shell script: how to get a new line when run sql query?

Hi, this's Pom. I'm quite a new one for shell script but I have to do sql on shell script to query some information from database. I found a concern to get a new line...When I run my script, it retrieves all data as wondering but it's shown in one line :( What should I do? I'm not sure that... (2 Replies)
Discussion started by: Kapom
2 Replies

9. Programming

Getting error in sql query

Hi All , I have tried many times am getting syntax error on 'UNION' can anybody tell me ... INSERT INTO table1 ( Type , num_items , num_letters , total_value ) (select type='1', num_items, num_letters=count(*), total_value=sum(letter_value) from table2 where num_items = 1 (1 Reply)
Discussion started by: Venkatesh1
1 Replies

10. Programming

Help writing SQL query

Hello All, I hope I'm posting this in the right section. I have zero sql query writing skill, in fact, I've never done it before, but for some reason, a request came across my desk to get information from one of our databases. I have about 200 ticket numbers that have no information attached,... (8 Replies)
Discussion started by: bbbngowc
8 Replies
MYSQL_QUERY(3)								 1							    MYSQL_QUERY(3)

mysql_query - Send a MySQL query

SYNOPSIS
Warning This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include: omysqli_query(3) o PDO::query mixed mysql_query (string $query, [resource $link_identifier = NULL]) DESCRIPTION
mysql_query(3) sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified $link_identifier. o $query - An SQL query The query string should not end with a semicolon. Data inside the query should be properly escaped. o $ link_identifier -The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect(3) is assumed. If no such link is found, it will try to create one as if mysql_connect(3) was called with no arguments. If no connection is found or established, an E_WARNING level error is generated. For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query(3) returns a resource on success, or FALSE on error. For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query(3) returns TRUE on success or FALSE on error. The returned result resource should be passed to mysql_fetch_array(3), and other functions for dealing with result tables, to access the returned data. Use mysql_num_rows(3) to find out how many rows were returned for a SELECT statement or mysql_affected_rows(3) to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement. mysql_query(3) will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query. Example #1 Invalid Query The following query is syntactically invalid, so mysql_query(3) fails and returns FALSE. <?php $result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Invalid query: ' . mysql_error()); } ?> Example #2 Valid Query The following query is valid, so mysql_query(3) returns a resource. <?php // This could be supplied by a user, for example $firstname = 'fred'; $lastname = 'fox'; // Formulate Query // This is the best way to perform an SQL query // For more examples, see mysql_real_escape_string() $query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'", mysql_real_escape_string($firstname), mysql_real_escape_string($lastname)); // Perform Query $result = mysql_query($query); // Check result // This shows the actual query sent to MySQL, and the error. Useful for debugging. if (!$result) { $message = 'Invalid query: ' . mysql_error() . " "; $message .= 'Whole query: ' . $query; die($message); } // Use result // Attempting to print $result won't allow access to information in the resource // One of the mysql result functions must be used // See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc. while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age']; } // Free the resources associated with the result set // This is done automatically at the end of the script mysql_free_result($result); ?> mysql_connect(3), mysql_error(3), mysql_real_escape_string(3), mysql_result(3), mysql_fetch_assoc(3), mysql_unbuffered_query(3). PHP Documentation Group MYSQL_QUERY(3)
All times are GMT -4. The time now is 06:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy