2013-02-22 47 views
5

Tôi đã tạo ra bảng như sau:cách viết thủ tục chèn dữ liệu vào bảng trong phpmyadmin?

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

Tôi muốn chèn dữ liệu trong bảng bằng cách sử dụng thủ tục.

thủ tục mà tôi đã viết là:

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;

Trả lời

11

Hãy thử 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

cảm ơn, làm việc của mình tốt.. tại thời điểm gọi tôi chỉ cần chuyển các giá trị? exmp: 'gọi simpleproc ('hatjeet', 'jadeja', 'i.s.e')' –

+0

có, bạn nói đúng. –

+0

nhưng khi tôi đang cố gắng cung cấp cho tôi lỗi dưới đây: '# 1054 - Cột không xác định 'in_name' trong 'danh sách trường' ' –

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; 
Các vấn đề liên quan