Articles of oracle

Comment dois-je stocker un GUID dans Oracle?

Je viens du monde du serveur SQL où nous avions un identifiant unique. Y a-t-il un équivalent en oracle? Cette colonne sera fréquemment interrogée afin que la performance soit la clé. Je génère le GUID dans .Net et le transmettrai à Oracle. Pour quelques raisons, il ne peut pas être généré par Oracle, donc je […]

L’utilisation du mot clé DISTINCT provoque cette erreur: pas une expression SELECT

J’ai une requête qui ressemble à ceci: SELECT DISTINCT share.rooms FROM Shares share left join share.rooms.buildingAdditions.buildings.buildingInfoses as bi … //where clause omitted ORDER BY share.rooms.floors.floorOrder, share.rooms.roomNumber, share.rooms.firstEffectiveAt, share.shareNumber, share.sharePercent Ce qui se traduit par l’exception suivante: Caused by: org.hibernate.exception.SQLGrammarException: ORA-01791: not a SELECTed expression Si je supprime le mot clé DISTINCT, la requête s’exécute sans […]

Utilisation de variables de liaison avec la clause SELECT INTO dynamic dans PL / SQL

J’ai une question concernant l’emplacement des variables de liaison dans une instruction SQL dynamic en PL / SQL. Par exemple, je sais que c’est valide: CREATE OR REPLACE FUNCTION get_num_of_employees (p_loc VARCHAR2, p_job VARCHAR2) RETURN NUMBER IS v_query_str VARCHAR2(1000); v_num_of_employees NUMBER; BEGIN v_query_str := ‘SELECT COUNT(*) FROM emp_’ || p_loc || ‘ WHERE job = […]

Comment exécuter une procédure stockée Oracle?

J’utilise oracle 10g express edition. Il a une belle interface pour les développeurs de db. Mais je suis confronté à des problèmes lors de l’exécution des procédures stockées. Procédure: create or replace procedure temp_proc is begin DBMS_OUTPUT.PUT_LINE(‘Test’); end il est créé avec succès. Mais quand j’exécute: execute temp_proc; il affiche ORA-00900: instruction SQL non valide […]

Comment puis-je insérer plusieurs lignes dans Oracle avec une valeur de séquence?

Je sais que je peux insérer plusieurs lignes en utilisant une seule instruction, si j’utilise la syntaxe de cette réponse . Cependant, l’une des valeurs que j’insère est extraite d’une séquence, c.-à-d. insert into TABLE_NAME (COL1,COL2) select MY_SEQ.nextval,’some value’ from dual union all select MY_SEQ.nextval,’another value’ from dual ; Si j’essaie de l’exécuter, j’obtiens une […]

oracle – quelles déclarations doivent être engagées?

Quelle est la liste des déclarations qui doivent être validées avant toute action ultérieure sur la table afin d’éviter un locking? Je ne parle pas de transactions complètes avec plusieurs déclarations et intégrité des transactions; au lieu de cela je fais référence à des déclarations uniques. Je sais que l’insertion doit être validée, mais tronquer […]

Oracle: ‘= ANY ()’ vs ‘IN ()’

Je suis tombé sur quelque chose dans ORACLE SQL (pas sûr que ce soit dans d’autres), je suis curieux de savoir. Je demande ici en tant que wiki, car il est difficile d’essayer de rechercher des symboles dans Google … Je viens de découvrir que lorsque vous vérifiez une valeur par rapport à un ensemble […]

Comment puis-je obtenir toutes les séquences dans une firebase database Oracle?

Y a-t-il une commande que je peux exécuter pour que je puisse obtenir toutes les séquences? J’utilise Oracle 11g. J’utilise Toad for Oracle pour s’y connecter. Je peux voir visuellement les séquences dans Toad, mais j’aime bien connaître la ligne de commande.

Comment extraire un groupe d’une expression régulière dans Oracle?

J’ai eu cette requête et je veux extraire la valeur entre les crochets. select de_desc, regexp_substr(de_desc, ‘\[(.+)\]’, 1) from DATABASE where col_name like ‘[%]’; Il me donne cependant la valeur avec les parenthèses telles que “[TEST]”. Je veux juste “TEST”. Comment modifier la requête pour l’obtenir?

Comment rafraîchir la vue matérialisée dans Oracle

J’essaie de rafraîchir la vue matérialisée en utilisant: DBMS_MVIEW.REFRESH(‘v_materialized_foo_tbl’) Mais il lance une requête SQL invalide. Ensuite, j’ai créé une procédure stockée comme celle-ci: CREATE OR REPLACE PROCEDURE MAT_VIEW_FOO_TBL IS BEGIN DBMS_MVIEW.REFRESH(‘v_materialized_foo_tbl’) END MAT_VIEW_FOO_TBL IS; Cette procédure a été créée avec succès mais lorsque j’appelle cette procédure avec MAT_VIEW_FOO_TBL; il jette une erreur à nouveau. […]