× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Stored Procedures
  • From: thomas@xxxxxxxxxxx
  • Date: 15 Jun 2001 20:36:42 -0700

On Fri, 15 June 2001, "Rodriguez, Jose Amable" wrote:

> 
> I've got a simple question.  I'd like to be able to code a stored procudrure
> in SQL that creates a temporary table.  The idea is that I need a unique
> number to add to the end of the table name (e.g. TEMP12345).  This way if
> two instances of the stored procedure are running, they don't bump into one
> another. 
> 
> Does anyone know of a random function or of a way to access a unique number
> within the stored procedure for this purpose?
> 

Jose:

I would use a single table if at all reasonable and generate a unique key 
instead of a unique table. An excellent unique generator is the __GENUUID MI 
builtin. Basic definition and usage is below. It generates a 16-byte "universal 
unique identifier" that is practically guaranteed unique across all systems. I 
use it to set client keys for keyed *dtaqs so the client can recognize entries 
coming back from the *dtaq server.

Example:

D  NewUUID                      16a
                                          
D UUID_template   Ds                             
D  BytesPrv                     10u 0 Inz( %Size( UUID_template ))   
D  BytesAvl                     10u 0            
D                                8a   Inz( *Allx'00' )
D  UUID                         16a                                             
    
D GenUuid         PR                  ExtProc('_GENUUID')
D  UUID_template                  *   Value                                     
            
 *
 *  Generate the unique identifier, return the value and terminate...
 *             
C                   Callp     GenUuid( %Addr( UUID_template )
c                                    )                                      
C                   eval      NewUUID = UUID

Simple to use and as reliable as almost anyone ever needs.

Tom Liotta

-- 

___________________________________________________
The ALL NEW CS2000 from CompuServe
 Better!  Faster! More Powerful!
 250 FREE hours! Sign-on Now!
 http://www.compuserve.com/trycsrv/cs2000/webmail/




+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.