2013-02-22 10 views
5

Ho creato tabella come di seguito:come scrivere la procedura per inserire i dati nella tabella in phpmyadmin?

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

voglio inserire i dati per la tabella utilizzando procedura.

la procedura che ho scritto è:

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;

risposta

11

Prova this-

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

grazie, il suo lavoro bene.. al momento della chiamata ho solo bisogno di passare i valori? exmp: 'call simpleproc ('hatjeet', 'jadeja', 'i.s.e')' –

+0

sì, hai ragione. –

+0

ma quando sto provando questo mi dà sotto errore: '# 1054 - Colonna sconosciuta 'in_name' in 'lista campi'' –

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; 
Problemi correlati