Maison base de données tutoriel mysql Oracle :%TYPE 和 %ROWTYPE

Oracle :%TYPE 和 %ROWTYPE

Jun 07, 2016 pm 03:21 PM
oracle 使用

1. 使用 %TYPE 在许多情况下, PL/SQL 变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如, students 表的 first_name 列的类型为 VARCHAR2(20), 我们可以按照下述方式声明一个变量: DECLARE v_FirstName VARCHAR2(20

1. 使用%TYPE

在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量:

DECLARE

       v_FirstName VARCHAR2(20);

但是如果first_name列的定义改变了会发生什么(比如说表改变了,first_name现在的类型变为VARCHAR2(25))?那就会导致所有使用这个列的PL/SQL代码都必须进行修改。如果你有很多的PL/SQL代码,这种处理可能是十分耗时和容易出错的。

这时,你可以使用”%TYPE”属性而不是将变量类型硬性编码。

例如:

DECLARE

       v_FirstName students.first_name%TYPE;

通过使用%TYPE,v_FirstName变量将同students表的first_name列的类型相同(可以理解为将两者邦定起来)。

每次匿名块或命名块运行该语句块以及编译存储对象(过程、函数、包、对象类和触发器)时,就会确定该类型。

使用%TYPE是非常好的编程风格,因为它使得PL/SQL更加灵活,更加适应于对数据库定义的更新。

2. 使用%ROWTYPE

2.1 PL/SQL记录

PL/SQL记录类型类似于C语言中的结构,是一种复合类型,是用户自定义的。

      记录提供了一种处理独立的但又作为一个整体单元相关的变量的机制。请看:

DECLARE

       v_StudentID NUMBER(5);

       v_FirstName VARCHAR2(20);

       v_LastName VARCHAR2(20);

3个变量在逻辑上是相互关联的,因为他们指向students表中不同的字段。如果为这些变量声明一个记录类型,那么他们之间的关系就十分明显,可作为一个单元进行处理。

DECLARE

       /*Define a record type to hold common student informationi*/

       TYPE t_StudentRecord IS RECORD(

              StudentID NUMBER(5),

              FirstName VARCHAR2(20),

              LastName VARCHAR2(20);

       /*Declare a variable of this type.*/

       v_StudentInfo t_StudentRecord;

2.2 记录赋值

       可以用SELECT语句向记录赋值,这将会从数据库中检索数据并将该数据存储到记录中。注意的是,记录中字段应该和查询结果列表中的字段相匹配。

SELECT studentID,firstName,lastName

into v_StudentInfo

from students where studentID=32;

2.3 使用%ROWTYPE

PL/SQL中将一个记录声明为具有相同类型的数据库行的作法是很常见的。PL/SQL提供了%ROWTYPE运算符,使得这样的操作更为方便。

例如:

DECLARE

       v_RoomRecord rooms%ROWTYPE;

将定义一个记录,该记录中的字段将与rooms表中的列相对应。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les procédures stockées pour Oracle Comment utiliser les procédures stockées pour Oracle Apr 11, 2025 pm 07:03 PM

Une procédure stockée est un ensemble d'instructions SQL qui peuvent être stockées dans une base de données et peuvent être appelées à plusieurs reprises comme une unité distincte. Ils peuvent accepter les paramètres (in, out, inout) et fournir les avantages de la réutilisation du code, de la sécurité, des performances et de la modularité. Exemple: Créez une procédure stockée Calculer_Sum pour calculer la somme de deux nombres et les stocker dans le paramètre OUT.

Comment importer une base de données Oracle Comment importer une base de données Oracle Apr 11, 2025 pm 08:06 PM

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Comment créer des contraintes de clé primaire dans Oracle Comment créer des contraintes de clé primaire dans Oracle Apr 11, 2025 pm 07:15 PM

Une clé primaire est une colonne spéciale ou une combinaison de colonnes qui identifie de manière unique chaque ligne dans une table. Il garantit que les enregistrements dans le tableau sont uniques et peuvent être créés par: spécifiant le nom du tableau à l'aide de l'instruction ALTER TABLE. Ajoutez le mot clé de la clé primaire suivi du nom de la colonne pour spécifier comme clé principale. Les contraintes de clé primaire aident à garantir l'unicité des données, à améliorer les vitesses de requête, à prévenir les enregistrements en double et à simplifier les jointures de table.

Comment configurer les variables d'environnement dans Oracle Comment configurer les variables d'environnement dans Oracle Apr 11, 2025 pm 07:18 PM

Oracle Environment Variable Configuration Guide: Créez une variable d'environnement Oracle_Home, pointant vers le répertoire d'Oracle Home. Ajoutez le répertoire binaire Oracle à la variable d'environnement de chemin. Définissez la variable d'environnement TNS_ADMIN (si le fichier est nommé à l'aide de TNS). Vérifiez les paramètres des variables d'environnement pour vous assurer que la sortie affiche les variables définies.

Comment ajouter des champs de table à Oracle Comment ajouter des champs de table à Oracle Apr 11, 2025 pm 07:30 PM

Utilisez l'instruction ALTER TABLE, la syntaxe spécifique est la suivante: alter table table_name Ajouter Column_name data_type [contrainte-clause]. Où: TABLE_NAME est le nom de la table, Column_name est le nom de champ, DATA_TYPE est le type de données et la clause de contrainte est une contrainte facultative. Exemple: Alter Table Employés Ajouter un e-mail Varchar2 (100) Ajouter un champ de messagerie à la table des employés.

Comment résoudre le code brouillé dans Oracle Comment résoudre le code brouillé dans Oracle Apr 11, 2025 pm 10:09 PM

Oracle Bragled Les problèmes peuvent être résolus en vérifiant le jeu de caractères de la base de données pour s'assurer qu'ils correspondent aux données. Définissez le jeu de caractères client pour correspondre à la base de données. Convertir les données ou modifier les jeux de caractères de colonne pour faire correspondre les jeux de caractères de base de données. Utilisez des jeux de caractères Unicode et évitez les jeux de caractères mulabyte. Vérifiez que les paramètres de langue de la base de données et du client sont corrects.

Comment remettre à nouveau Oracle Comment remettre à nouveau Oracle Apr 11, 2025 pm 07:33 PM

Oracle fournit plusieurs méthodes de requête de déduplication: le mot-clé distinct renvoie une valeur unique pour chaque colonne. Le groupe par clause regroupe les résultats et renvoie une valeur non réactive pour chaque groupe. Le mot-clé unique est utilisé pour créer un index ne contenant que des lignes uniques, et l'interrogation de l'index sera automatiquement déducteur. La fonction ROW_NUMBER () attribue des nombres uniques et filtre les résultats qui contiennent uniquement la ligne 1. La fonction min () ou max () renvoie les valeurs non réactives d'une colonne numérique. L'opérateur intersecte renvoie les valeurs communes des deux ensembles de résultats (pas de doublons).

Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

See all articles