Question

Qu'est-ce que : dans un support requête?

INSERT INTO MyTable (ID) VALUES (:myId)

Comment faut-il récupérer la valeur désirée?

Modifier Aussi ce qui est appelé ce signe? Je voulais faire une recherche sur google, mais quel est le nom :?

Était-ce utile?

La solution

Ce qu'on appelle un variable dans Oracle.

  

quel est le nom ":"?

Colon.

Autres conseils

Qu'est-ce que ":" se dans une requête

bind variables . les variables Bind permettent une seule instruction SQL (si une requête ou DML) pour être réutilisés plusieurs fois, ce qui contribue à la sécurité (en prohibant les attaques par injection SQL) et les performances (en réduisant la quantité d'analyse syntaxique nécessaire).

Comment faut-il récupérer la valeur désirée?

Avant une requête (ou DML) est exécuté par Oracle, votre programme va créer un curseur. Votre programme délivre le SQL à parser pour ce curseur, il doit lier des valeurs pour chaque variable de liaison appelée par le SQL. Comment cela se fait dépend de la langue.

Qu'est-ce que ce signe appelé?

A côlon.

Ceci est une balise pour un paramètre de requête nommée, et ne fait pas partie de la syntaxe réelle de la requête. La balise est remplacée par une valeur spécifiée dans le code qui fait la requête avant qu'elle ne soit réellement exécutée.

Colon : est utilisé dans HQL Hibernate Query Language pour signifier qu'il ya un paramètre impliqué.

Alors qu'est-ce que cela signifie est: SQL SYNTAX:

SELECT * FROM EMPLOYEE WHERE EMP_ID = empID

est la même que HQL SYNTAX:

SELECT * FROM EMPLOYEE WHERE EMP_ID = :empID

empID étant variable locale pour les paramètres ...

Hope this helps.

Il est un paramètre nommé .

En C #, préfixer le paramètre avec @ (voir ).

Considérez les énoncés suivants

select name from T_emp where id=1;
select name from T_emp where id=2;
select name from T_emp where id=3;

Chaque fois qu'une instruction est exécutée, Oracle vérifie les occurrences précédentes de la même requête. Si elle trouve la même requête, il utilise la même plan d'exécution . Sinon, il doit trouver les différents chemins d'exécution, venir avec le plan d'exécution optimale et l'exécuter.

Contrairement à l'homme de ce pas assez intelligent pour se rendre compte que seul l'identifiant a changé (comme par exemple ci-dessus). Par conséquent, il passe par toutes les luttes et l'exécute.

Mais il y a une façon de dire que son Oracle une déclaration similaire et qu'il peut utiliser le même plan d'exécution - BIND VARIABLE . S'il vous plaît trouver l'exemple ci-dessous:

declare
  v_id number;
  v_name varchar2(30);
  type c is ref cursor;
  c1 c;
begin
  for i in 1..100
   loop
    open c1 for 'select * from T_emp where id = :x' using i;
    fetch c1 into v_name;
    dbms_output.put_line('name is ' || v_name);
   end loop;
END;

Utilisation des variables Bind permet d'améliorer les performances dix fois. PL / SQL n'utilise les variables de liaison lui-même (vous ne devez pas dire explicitement)

qui est aussi la syntaxe des paramètres pour une requête Delphi

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top