Avatar billede Slettet bruger
18. juni 2007 - 18:15 Der er 1 kommentar og
1 løsning

SP/view med parameteriseret select

Hej,

Jeg sidder og roder med nogle views/stored procedures og kunne godt tænke mig at lade dem styre mine selects.

Men hvordan kalder jeg en SP/view med sql?

Jeg har fået oprettet denne SP, som jeg via kommandopromt kan køre med:
-> call OTD_ids('2007-01-01','2007-10-10');

CREATE PROCEDURE OTD_ids(IN start_date Date, IN end_date date)
BEGIN
    SELECT
        `id`
    FROM
        `testing`
    WHERE
        `done by` <= end_date
        AND `done by` >= start_date;
END|

Men hvordan bruger jeg denne som et view (altså betragter min SP som en table) eller kalder mit view med parametre?

Jeg vil godt ende op med at kunne kalde SP/viewet med:

SELECT * FROM OTD_ids('2007-01-01','2007-10-10');
Avatar billede dkfire Nybegynder
19. juni 2007 - 12:43 #1
Kunne det tænkes at du kan kalde din SP med mysql_query("call OTD_ids('2007-01-01','2007-10-10')")

Det er kun en ide, jeg kender intet til SP.
Avatar billede Slettet bruger
26. juni 2007 - 14:09 #2
Det kan man ikke..
Desuden kan jeg så heller ikke selecte fra resultatet.

Men jeg har nu fundet en løsning ved at bruge view og lade `done by` indgå i field list.

CREATE VIEW
    `OTD_ids`
AS (
    SELECT
        `id`
        `done by`
    FROM
        `testing`
)

og så kan jeg senere selecte.

SELECT
    *
FROM
    `OTD_ids`
WHERE
        `done by` <= end_date
        AND `done by` >= start_date
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester