Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi quy trình lưu trữ MySQL Ký tự không mong muốn:

Đó là một vấn đề liên quan đến cú pháp MySQL rất khó chịu:Có một TAB ở đâu đó trong quy trình của bạn dẫn đến vấn đề phân tích cú pháp này:Chỉ sử dụng khoảng trắng cho bất kỳ thụt lề hoặc căn chỉnh nào.

Phiên bản của tôi (MariaDB 10.x) cũng không thích việc bắt đầu quy trình của bạn bằng DECLARE đặt hàng, vì vậy tôi cũng cập nhật đó. Xem liệu nó có còn phù hợp với mục đích của bạn tại vị trí đó không.

Quy trình đã điều chỉnh mà cơ sở dữ liệu của tôi tạo ra mà không có lỗi cú pháp:

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `get_gauge_values` (in maxdate timestamp, in tagid int)

BEGIN
declare finished boolean;
declare line_timestamp timestamp;
declare line_tagid int;
declare line_name varchar(50);
declare line_value varchar(50);
DECLARE cid CURSOR FOR 
SELECT MAX(hd.timestamp), hd.tag_id
FROM dashboard_lines dl
JOIN historical_data hd ON hd.tag_id = dl.gauge_tag_id
WHERE (hd.timestamp is null OR hd.timestamp <= maxdate)
AND (dl.gauge_tag_id is null OR dl.gauge_tag_id = tagid);       
declare continue handler for not found set finished=true;
set finished=false;
DROP TABLE IF EXISTS GAUGE_VALUES_TEMP;
CREATE TABLE GAUGE_VALUES_TEMP (
LINE_NAME varchar(255),
LINE_VALUE varchar(50)
);  
open cid;
start_loop: loop            
fetch cid into line_timestamp, line_tagid;    
if finished <> false then 
leave start_loop; 
else    
insert into gauge_values_temp (line_name, line_value) 
select ol.name, hd.value
from dashboard_lines dl
join operation_lines ol on ol.line_id = dl.line_id
join historical_data hd on hd.tag_id = dl.gauge_tag_id
where dl.gauge_tag_id = line_tagid;                        
end if;                
end loop;
close cid;
select * from gauge_values_temp;
END
$$



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kích thước lưu trữ địa chỉ IPv4, IPv6 dưới dạng chuỗi

  2. ngoại lệ đường ống bị hỏng với MySql trong ứng dụng Grails

  3. Các phương pháp hay nhất cho độ dài cột SQL varchar

  4. Kiểm tra xem một hàng có các giá trị đã cho có tồn tại hay không

  5. Sqoop Nhập - hàm mật khẩu-tệp không hoạt động bình thường trong sqoop 1.4.4