Hướng dẫn biến trong mysql
T-SQL cũng có thể coi nó như là một ngôn ngữ lập trình nên nó cũng tồn tại các khái niệm kiểu dữ liệu, biến và khai báo biến, các vòng lặp, câu ifelse,... Nhưng chúng ta rất ít sử dụng nó để viết các ứng dụng website. Nhưng bạn cũng không nên bỏ qua phần kiến thức bổ ích này nhé. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Trong bài này chúng ta sẽ tìm hiểu biến trong Procedure và cách khai báo, thiết lập giá trị cho biến trong Stored Procedure. 1. Khai báo biến trong MySql Stored ProcedureĐể định nghĩa một biến mới ta dùng cú pháp : DECLARE variable_name datatype(size) DEFAULT default_value Trong đó: Bài viết này được đăng tại [free tuts .net]
Ví dụ: DECLARE product_title VARCHAR(255) DEFAULT 'No Name'; 2. Gán giá trị cho biến trong MySql Stored ProcedureTạo biến rồi thì phải gán giá trị cho nó chứ đúng không nào? Để gán giá trị cho nó thì chúng ta sử dụng tư khóa SET: SET variable_name = 'value'; Ví dụ: Định nghĩa biến age và gán giá trị 20 cho nó. DECLARE age INT(11) DEFAULT 0 SET age = 12 Ví dụ: Gán giá trị thông qua lệnh SELECT DECLARE total_products INT DEFAULT 0 SELECT COUNT(*) INTO total_products FROM products Trong ví dụ này thì trước tiên nó sẽ thực hiện câu truy vấn SQL đếm tổng số record và sau đó gán vào biến 4. Phạm vi hoạt động của biếnNếu như bạn định nghĩa một biến bên trong phần thân của Procedure (giữa BEGIN và END) thì đó ta gọi là biến cục bộ của Procedure. Bạn có thể định nghĩa nhiều biến trong một Procedure. Ví dụ: DELIMITER $$ DROP PROCEDURE IF EXISTS tinhTong $$ CREATE PROCEDURE tinhTong() BEGIN DECLARE a INT (11) DEFAULT 0; DECLARE b INT (11) DEFAULT 0; DECLARE tong INT (11) DEFAULT 0; SET a = 200; SET b = 300; SET tong = a + b; SELECT tong; END; $$ DELIMITER; Ở procedure này tôi đã định nghĩa các biến Nếu một biến được khai báo bên ngoài Procedure thì bên trong Procedure sẽ không nhận được và sẽ thông báo lỗi. Ví dụ: DELIMITER $$ DECLARE tong INT (11) DEFAULT 0; DROP PROCEDURE IF EXISTS tinhTong $$ CREATE PROCEDURE tinhTong() BEGIN DECLARE a INT (11) DEFAULT 0; DECLARE b INT (11) DEFAULT 0; SET a = 200; SET b = 300; SET tong = a + b; SELECT tong; END; $$ DELIMITER; Chương trình này lỗi vì biến Lời kết:Trong bài này chủ yếu chúng ta học cách định nghĩa một biến trong MYSQL như thế nào? Cách gán dữ liệu cho biến và thực thi kết quả câu truy vấn SQL rồi gán vào biến đó. Bài tương đối đơn giản nên rất dễ học, ở bài tiếp theo chúng ta sẽ tìm hiểu cách khai báo tham số truyền vào Procedure nhé. Làm thế nào để khai báo một biến trong mysql, để truy vấn thứ hai của tôi có thể sử dụng nó? Tôi muốn viết một cái gì đó như:
291 hữu ích 0 bình luận 515k xem chia sẻ answer 504 Có ba loại biến chủ yếu trong MySQL:
504 hữu ích 5 bình luận chia sẻ answer 21
HOẶC LÀ
cả hai toán tử = và : = đều được chấp nhận
nếu nhiều bộ bản ghi chỉ tìm thấy giá trị cuối cùng trong col2 được giữ (ghi đè);
trong trường hợp này, kết quả của lựa chọn không chứa giá trị col2 21 hữu ích 2 bình luận chia sẻ answer 11 Sử dụng thiết lập hoặc chọn
thí dụ :
11 hữu ích 0 bình luận chia sẻ answer 2 DECLARE var_name [, var_name] ... gõ [giá trị DEFAULT] Câu lệnh này khai báo các biến cục bộ trong các chương trình được lưu trữ. Vd KHAI THÁC id id không dấu DEFAULT 1; Để cung cấp giá trị mặc định cho một biến, hãy bao gồm mệnh đề DEFAULT. Giá trị có thể được chỉ định như một biểu thức; nó không cần phải là một hằng số Nếu mệnh đề DEFAULT bị thiếu, giá trị ban đầu là NULL. Các biến cục bộ được xử lý như các tham số thường trình được lưu trữ đối với kiểu dữ liệu và kiểm tra tràn. Khai báo biến phải xuất hiện trước khi khai báo con trỏ hoặc xử lý. Tên biến cục bộ không phân biệt chữ hoa chữ thường. Các ký tự được phép và quy tắc trích dẫn giống như đối với các mã định danh khác Phạm vi của một biến cục bộ là khối BEGIN ... END trong đó nó được khai báo. Biến có thể được tham chiếu trong các khối được lồng trong khối khai báo, ngoại trừ các khối khai báo một biến có cùng tên. 2 hữu ích 0 bình luận chia sẻ answer 0 Đối với bất kỳ người nào sử dụng @variable trong hàm concat_ws để nhận các giá trị được nối, đừng quên xác định lại nó với giá trị trống. Nếu không, nó có thể sử dụng giá trị cũ cho cùng một phiên.
0 hữu ích 0 bình luận chia sẻ Đăng nhập để trả lời câu hỏiCó thể bạn quan tâm |