Eine Funktion führt eine bestimmte Arbeit aus und verwendet normalerweise Parameter als Eingabe. In Bezug auf Datenbanken können diese spezifisch für SQL oder den Datenbankanbieter sein.
Ich arbeite an einer Funktion, mit der ich einen Index hinzufügen kann, wenn er nicht vorhanden ist. Ich habe das Problem, dass ich keine Liste der zu vergleichenden Indizes bekomme. Irgendwelche Gedanken? Dies ist ein ähnliches Problem wie bei der Spaltenerstellung, das mit folgendem Code behoben wird: https://stackoverflow.com/a/12603892/368511
Ich habe eine benutzerdefinierte Funktion: create function ut_FooFunc(@fooID bigint, @anotherParam tinyint) returns @tbl Table (Field1 int, Field2 varchar(100)) as begin -- blah blah end Jetzt möchte ich dies auf einem anderen Tisch verbinden, wie folgt: select f.ID, f.Desc, u.Field1, u.Field2 from Foo f join ut_FooFunc(f.ID, 1) u -- doesn't work …
Es ist bekannt, dass SCHEMABINDINGeine Funktion in Aktualisierungsplänen einen unnötigen Spool vermeiden kann : Wenn Sie einfache T-SQL-UDFs verwenden, die keine Tabellen berühren (dh nicht auf Daten zugreifen), müssen Sie die SCHEMABINDINGOption beim Erstellen der UDFs angeben . Dadurch werden die UDFs schemagebunden und es wird sichergestellt, dass das Abfrageoptimierungsprogramm …
Sind in Postgres vorbereitete Abfragen und benutzerdefinierte Funktionen gleichbedeutend mit einem Mechanismus zum Schutz vor SQL-Injection ? Gibt es besondere Vorteile bei einem Ansatz gegenüber dem anderen?
Es wurde viel über die Gefahren von Scalar-UDFs in SQL Server geschrieben. Eine gelegentliche Suche liefert unzählige Ergebnisse. Es gibt jedoch einige Stellen, an denen eine skalare UDF die einzige Option ist. Beispiel: Wenn Sie mit XML arbeiten: XQuery kann nicht als berechnete Spaltendefinition verwendet werden. Eine von Microsoft dokumentierte …
Ich verwende PostgreSQL 9.1 und habe eine Benutzertabelle mit einer loginSpalte. Bei Anmeldenamen muss die Groß- und Kleinschreibung beachtet werden, z. B. Bob, MikE, John. Ich möchte alle diese Datensätze in Kleinbuchstaben umwandeln. Wie kann ich das machen?
Ich muss 2 Variablen Werte zuweisen, wie unten in der Postgres-Funktion. a := select col1 from tbl where ... b := select col2 from tbl where ... Wie kann ich 2 Variablen in einem Zeilenbefehl 2 Werte zuweisen? Mögen a,b := select col1,col2 from tbl where ...
Ich habe eine Tabelle mit einer Zeichenfolgenspalte und einem Prädikat, das nach Zeilen mit einer bestimmten Länge sucht. In SQL Server 2014 wird unabhängig von der Länge, auf die ich prüfe, eine Schätzung von 1 Zeile angezeigt. Dies führt zu sehr schlechten Plänen, da tatsächlich Tausende oder sogar Millionen von …
Zweck Beim Versuch, ein Testbeispiel für eine selbstreferenzierende Funktion zu erstellen, schlägt eine Version fehl, während eine andere erfolgreich ist. Der einzige Unterschied besteht darin SELECT, dass der Funktionskörper hinzugefügt wird , was zu einem unterschiedlichen Ausführungsplan für beide führt. Die Funktion, die funktioniert CREATE FUNCTION dbo.test5(@i int) RETURNS INT …
Ich bin ein Anfänger in T-SQL. Ich möchte entscheiden, ob eine Eingabezeichenfolge ein Palindrom ist, mit output = 0, wenn dies nicht der Fall ist, und output = 1, wenn dies der Fall ist. Ich finde immer noch die Syntax heraus. Ich erhalte nicht einmal eine Fehlermeldung. Ich suche nach …
Mache ich das richtig...? Ich habe eine Funktion, die Geld zurückgibt ... 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 functionName to another_user …
Vollständige Frage neu schreiben Ich suche nach einer First () - Aggregatfunktion. Hier habe ich etwas gefunden, das fast funktioniert: 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 …
Beim Erstellen eines Datenbankprofils bin ich auf eine Ansicht gestoßen , die auf einige nicht deterministische Funktionen verweist, auf die für jede Verbindung im Pool dieser Anwendung 1000 bis 2500 Mal pro Minute zugegriffen wird . Eine einfache SELECTAnsicht ergibt den folgenden Ausführungsplan: Dies scheint ein komplexer Plan für eine …
Ich frage mich zu wissen, ob es notwendig ist, ein Commit nach dem Einfügen / Löschen / Aktualisieren in Funktion / Prozedur zu schreiben. Beispiel: create or replace function test_fun return number is begin delete from a; return 0; end; oder Verfahren create or replace procedure aud_clear_pro as begin delete …
Vor kurzem habe ich einige ziemlich alte gespeicherte Prozeduren durchgesehen, die für SQL Server 2005 geschrieben wurden, und mir ist etwas aufgefallen, das ich nicht verstehe. Es scheint sich um einen Funktionsaufruf zu handeln. Eine Probe: SELECT o.name, o.type_desc, o.create_date FROM sys.objects o WHERE o.create_date < {fn Now()} -1; Hiermit …
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.