Une fonction effectue un travail spécifié, prenant généralement des paramètres en entrée. En termes de bases de données, celles-ci peuvent être spécifiques à SQL ou au fournisseur de base de données.
Je travaille sur une fonction qui me permet d'ajouter un index s'il n'existe pas. Je rencontre un problème auquel je ne parviens pas à obtenir une liste d’index à comparer. Des pensées? Ceci est un problème similaire à celui de la création de colonne qui est résolu avec ce code: …
J'ai une fonction définie par l'utilisateur: create function ut_FooFunc(@fooID bigint, @anotherParam tinyint) returns @tbl Table (Field1 int, Field2 varchar(100)) as begin -- blah blah end Maintenant, je veux rejoindre ceci sur une autre table, comme ceci: select f.ID, f.Desc, u.Field1, u.Field2 from Foo f join ut_FooFunc(f.ID, 1) u -- doesn't …
Il est bien connu qu'une SCHEMABINDINGfonction peut éviter un spool inutile dans les plans de mise à jour: Si vous utilisez des fichiers UDF T-SQL simples qui ne touchent aucune table (c’est-à-dire qui n’accèdent pas aux données), assurez-vous de spécifier l’ SCHEMABINDINGoption lors de la création des fichiers UDF. Les …
Dans Postgres, les requêtes préparées et les fonctions définies par l'utilisateur sont-elles équivalentes en tant que mécanisme de protection contre l'injection SQL ? Y a-t-il des avantages particuliers dans une approche par rapport à l'autre?
Beaucoup a été écrit sur les périls des FDU scalaires dans SQL Server. Une recherche occasionnelle renverra des tas de résultats. Il y a certains endroits où une UDF scalaire est la seule option, cependant. À titre d'exemple: lorsqu'il s'agit de XML: XQuery ne peut pas être utilisé comme définition …
J'utilise PostgreSQL 9.1 et j'ai une table d'utilisateurs avec une logincolonne. les noms de connexion sont sensibles à la casse, par exemple Bob, MikE, john. Je voudrais transformer tous ces enregistrements en minuscules. Comment puis je faire ça?
J'ai besoin d'attribuer des valeurs à 2 variables comme ci-dessous dans la fonction Postgres. a := select col1 from tbl where ... b := select col2 from tbl where ... Comment puis-je attribuer 2 valeurs à 2 variables dans une commande de ligne? Comme a,b := select col1,col2 from tbl …
J'ai une table avec une colonne de chaînes et un prédicat qui vérifie les lignes d'une certaine longueur. Dans SQL Server 2014, je vois une estimation de 1 ligne quelle que soit la longueur que je vérifie. Cela donne des plans très médiocres car il y a en fait des …
Objectif Lorsque vous essayez de créer un exemple de test d'une fonction d'auto-référencement, une version échoue tandis qu'une autre réussit. La seule différence étant un ajout SELECTau corps de la fonction résultant en un plan d'exécution différent pour les deux. La fonction qui fonctionne CREATE FUNCTION dbo.test5(@i int) RETURNS INT …
Je suis débutant en T-SQL. Je veux décider si une chaîne d'entrée est un palindrome, avec sortie = 0 si ce n'est pas et sortie = 1 si c'est le cas. Je suis toujours en train de comprendre la syntaxe. Je ne reçois même pas de message d'erreur. Je suis …
Suis-je en train de bien faire ...? J'ai une fonction qui rapporte de l'argent ... CREATE FUNCTION functionName( @a_principal money, @a_from_date datetime, @a_to_date datetime, @a_rate float ) RETURNS money AS BEGIN DECLARE @v_dint money set @v_dint = computation_here set @v_dint = round(@v_dint, 2) RETURN @v_dint END GO Grant execute on …
Réécriture complète de la question Je recherche une fonction d'agrégation First (). Ici, j'ai trouvé quelque chose qui fonctionne presque: CREATE OR REPLACE FUNCTION public.first_agg ( anyelement, anyelement ) RETURNS anyelement LANGUAGE sql IMMUTABLE STRICT AS $$ SELECT $1; $$; -- And then wrap an aggregate around it CREATE AGGREGATE …
Lors du profilage d'une base de données, je suis tombé sur une vue qui fait référence à certaines fonctions non déterministes qui sont accessibles 1000 à 2500 fois par minute pour chaque connexion dans le pool de cette application. Un simple SELECTde la vue donne le plan d'exécution suivant: Cela …
Je me demande s'il est nécessaire d'écrire commit après insertion / suppression / mise à jour dans la fonction / procédure? Exemple: create or replace function test_fun return number is begin delete from a; return 0; end; ou procédure create or replace procedure aud_clear_pro as begin delete from a; end; …
Récemment, j'ai parcouru des procédures stockées assez anciennes qui ont été écrites pour SQL Server 2005, et j'ai remarqué quelque chose que je ne comprends pas. Il semble s'agir d'un certain type d'appel de fonction. Un échantillon: SELECT o.name, o.type_desc, o.create_date FROM sys.objects o WHERE o.create_date < {fn Now()} -1; …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.