Oracle / PLSQL: Primary Keys This Oracle tutorial explains how to create, drop, disable, and enable a primary key in Oracle with syntax and examples. What is a primary key in Oracle? In Oracle, a primary key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value. One version gets a random number greater than or equal to 0 and less than 1, with 38 digits to the right of the decimal point (38-digit precision). The other version gets a random Oracle Database number x, where x is greater than or equal to a specified lower limit and less than a specified higher limit. Jun 21, 2004 Hi, I am constructing the key as follows: KeyGenerator keyGenerator = KeyGenerator.getInstance('Blowfish'); keyGenerator.init(128); Key key = keyGenerator.generateKey; Now, I want to generate a new random key. Can you guys tell me how can I do that. Thanks in advance.
Posted by: Red R Date: June 07, 2007 09:22PM
I am working on a regular database needing unique primary keys. I don't want to use the usual AUTO_INCREMENT property of MySQL and plans to generate random primary keys using PHP and use it in inserting the data row to MySQL. So my normal code would look like this: 1 do { 2 $random = generate_random_primary_key(); 3 mysql_query(check if $random exists in database); 4 if not { insert data row to MySQL, quit loop } // else continue with loop 5 } while $random is in database However, I have a couple of concerns: 1. Wouldn't this be a little slow and database-intensive, especially when the database already contains a lot of entries as I'll be checking the primary key's existence every time I need to insert an entry? And worse, it'll be inside a loop that continues until a non-existing primary key is found (imagine a 'nearly full' database). 2. I'm concerned about multiple users doing inserts at the same time. How can I be sure that there won't be another user inserting another entry using the same 'random' primary key in between lines 3 and 4? Any comments would be very much be welcomed!
Options:Reply•Quote
Written By
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. Sudo php artisan key generate failed to open stream. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.
The
DBMS_RANDOM package provides a built-in random number generator.
This chapter contains the following topics:
Note:
DBMS_RANDOM is not intended for cryptography.
Using DBMS_RANDOMOperational notes
DBMS_RANDOM can be explicitly initialized but does not require initialization before a call to the random number generator. It automatically initializes with the date, user ID, and process ID if no explicit initialization is performed.
If this package is seeded twice with the same seed, then accessed in the same way, it produces the same result in both cases.
In some cases, such as when testing, you may want the sequence of random numbers to be the same on every run. In that case, you seed the generator with a constant value by calling an overload of
SEED . To produce different output for every run, simply omit the seed call. Then the system chooses a suitable seed for you.
Summary of DBMS_RANDOM subprograms
Table 6-1 DBMS_RANDOM package subprograms
Oracle Primary Key Auto Generated![]()
Note:
![]()
Notes:
INITIALIZE procedure
This procedure is deprecated. Although currently supported, it should not be used. It initializes the random number generator.
Parameters
Table 6-2 INITIALIZE procedure parameters
Usage notes
This procedure is obsolete as it simply calls the SEED procedure.
NORMAL function
This function returns random numbers in a standard normal distribution.
Return value
The random number, a
NUMBER value
Oracle Generate Random Primary Key Of LifeRANDOM function
This procedure is deprecated. Although currently supported, it should not be used. It generates and returns a random number.
Return value
A random
BINARY_INTEGER value greater than or equal to -power(2,31) and less than power(2,31)
Usage notes
See the NORMAL function and the VALUE function.
SEED procedure
This procedure resets the seed used in generating a random number.
Parameters
Table 6-3 SEED procedure parameters
Usage notes
The seed can be a string up to length 2000.
STRING function
This function generates and returns a random string.
Oracle Generate Random Number
Parameters
Table 6-4 STRING function parameters
Oracle Generate Random Primary Key Examples
Return value
A
VARCHAR2 value with the random string
TERMINATE procedure
This procedure is deprecated. Although currently supported, it should not be used. It would be called when the user is finished with the package.
VALUE function
One version returns a random number, greater than or equal to 0 and less than 1, with 38 digits to the right of the decimal (38-digit precision). The other version returns a random Oracle Database
NUMBER value x , where x is greater than or equal to the specified low value and less than the specified high value.
Parameters
Table 6-5 VALUE function parameters
Return value
A
NUMBER value that is the generated random number
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |