2013-02-22 13 views
5

Stworzyłem tabelę poniżej:jak napisać procedurę wstawiania danych do tabeli w phpmyadmin?

student: 
+----+------+-----------+--------+ 
|uid | name | user_name | branch | 
+----+------+-----------+--------+ 
| |  |   |  | 
+----+------+-----------+--------+ 

chcę wstawić dane do tabeli przy użyciu procedury.

procedura, która napisałem jest:

create procedure add(in_name varchar(50),in_user_name varchar(50),in_branch varchar(50))
begin
insert into student (name,user_name,branch) values (in_name ,in_user_name,in_branch);
end;

Odpowiedz

11

Spróbuj to-

CREATE PROCEDURE simpleproc (IN name varchar(50),IN user_name varchar(50),IN branch varchar(50)) 
BEGIN 
    insert into student (name,user_name,branch) values (in_name ,in_user_name,in_branch); 
END 
+0

dzięki, jego pracę dobrze.. w czasie połączenia po prostu muszę przekazać wartości? exmp: 'call simpleproc ('hatjeet', 'jadeja', 'i.s.e')' –

+0

tak, masz rację. –

+0

ale gdy próbuję, to daje mi poniżej błędu: '# 1054 - Nieznana kolumna 'in_name' w 'liście pól'' –

2
# Switch delimiter to //, so phpMyAdmin will not execute it line by line. 
DELIMITER // 
CREATE PROCEDURE usp_rateChapter12 

(IN numRating_Chapter INT(11) UNSIGNED, 

IN txtRating_Chapter VARCHAR(250), 

IN chapterName VARCHAR(250), 

IN addedBy VARCHAR(250) 

) 

BEGIN 
DECLARE numRating_Chapter INT; 

DECLARE txtRating_Chapter VARCHAR(250); 

DECLARE chapterName1 VARCHAR(250); 

DECLARE addedBy1 VARCHAR(250); 

DECLARE chapterId INT; 

DECLARE studentId INT; 

SET chapterName1 = chapterName; 
SET addedBy1 = addedBy; 

SET chapterId = (SELECT chapterId 
        FROM chapters 
        WHERE chaptername = chapterName1); 

SET studentId = (SELECT Id 
        FROM students 
        WHERE email = addedBy1); 

SELECT chapterId; 
SELECT studentId; 

INSERT INTO ratechapter (rateBy, rateText, rateLevel, chapterRated) 
VALUES (studentId, txtRating_Chapter, numRating_Chapter,chapterId); 

END // 

//DELIMITER; 
Powiązane problemy