Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Funkcje UDF
yalus
post 19.03.2009, 12:57:32
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

Ostrzeżenie: (0%)
-----


witam

za pomoca konsoli utworzylem wlasna funkcje UDF
ale nie mam pojecia jak ja edytowac 'zajrzec do srodka'

  1. CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  2. BEGIN RETURN 'jakis_napis';
  3. END


jak mozna zmienic kod w takiej funkcji ?

bo wywolac mozna w ten sposob:

  1. SELECT HelloWorld ()


pozatym uzywam klienta do bazy EMS MySQL Manager i po utworzeniu powyzszej funkcji pod konsola nie widze zadnych zmian w okienku klienta w ktorym sa funkcje UDF

jak moge zarzadzac moimi funkcjami UDF ?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
wookieb
post 19.03.2009, 13:03:39
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. CREATE OR REPLACE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  2. BEGIN [nowy kod funkcji]
  3. END


Ten post edytował wookieb 19.03.2009, 13:03:50


--------------------
Go to the top of the page
+Quote Post
yalus
post 19.03.2009, 13:06:32
Post #3





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

Ostrzeżenie: (0%)
-----


dzieki za odpowiedz;
ale jak stworzyc to wlasnie wiem i napisalem w moim poscie
ale jak bym cos chcial zmienic w juz istniejacej?

np. utworzylem taka funkcje

  1. CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  2. BEGIN RETURN 'jakis_napis';
  3. END



a po jakims czasie okazalo sie ze jej zawartosc ulegnie zmianie na:

  1. CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  2. BEGIN RETURN 'nowy napis';
  3. END


Ten post edytował yalus 19.03.2009, 13:09:48


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
wookieb
post 19.03.2009, 13:09:24
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dopisałem przecież
  1. OR REPLACE


--------------------
Go to the top of the page
+Quote Post
yalus
post 19.03.2009, 13:12:06
Post #5





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

Ostrzeżenie: (0%)
-----


to jak to wyglada pod konsola jak funkcja zawiera np 20 lini kodu a ja chce zmodyfikowac tylko 2?


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post
wookieb
post 19.03.2009, 13:16:26
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Modyfikujesz przez nadpisanie nowym kodym. Czyli
  1. CREATE OR REPLACE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  2. BEGIN 1 linia
  3. 2 linia
  4. 3 linia
  5. 4 linia
  6. 5 linia
  7. 6 linia
  8. END

To zeby zmienic np linie czwarta to kopiujesz caly kod ze zmiana tylko tej linii

  1. CREATE OR REPLACE FUNCTION HelloWorld () RETURNS VARCHAR(20)
  2. BEGIN 1 linia
  3. 2 linia
  4. 3 linia
  5. 4 linia ktora zostaje zmieniona
  6. 5 linia
  7. 6 linia
  8. END


Tak to działa z konsoli oraz ogólnie z poziomu zapytań.
Nie powiem ci jak to wyglada w twoim managerze ale w np w pgadminie (postgres) to
PPM na funkcji -> wlasciwosci -> definicja
Zmieniasz co chcesz i zachowujesz.

Ten post edytował wookieb 19.03.2009, 13:18:11


--------------------
Go to the top of the page
+Quote Post
yalus
post 19.03.2009, 13:20:46
Post #7





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

Ostrzeżenie: (0%)
-----


dzieki


--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 16:04