【发布时间】:2018-05-24 20:41:38
【问题描述】:
我正在尝试创建一个存储过程,它接受一个名称/或数字并返回该名称/数字的特定值
所以在这段代码中,我正在尝试编写一个存储过程,它采用公司名称或 cvr 编号并返回该公司的合规程度
DROP DATABASE IF EXISTS DRCS;
CREATE DATABASE DRCS;
USE DRCS;
CREATE TABLE Companies (
ID INT not null,
Name varchar(255),
primary key (ID)
);
CREATE TABLE CVR (
ID INT not null,
CVR_Number INT
);
CREATE TABLE Compliance (
ID INT not null,
Complaince_level varchar(255)
);
CREATE TABLE GDPR (
ID INT not null,
GDPR_steps varchar(255)
);
INSERT INTO Companies VALUES
(1, 'TDC'),
(2, 'MAERSK'),
(3, 'LEGO'),
(4, 'SAS'),
(5, 'Carlsberg');
INSERT INTO CVR VALUES
(11, '14773908'),
(12, '32345794'),
(13, '47458714'),
(14, '56994912'),
(15, '61056416');
INSERT INTO Compliance VALUES
(21, '10%'),
(22, '20%'),
(23, '40%'),
(24, '60%'),
(25, '80%');
INSERT INTO GDPR VALUES
(31, '1. Awareness'),
(32, '2. Information you hold'),
(33, '3. Communication privacy information'),
(34, '4. Individuals rights'),
(35, '5. Subject access requests');
#HERE MY PROBLEM STARTS
DELIMITER $$
CREATE PROCEDURE DoC()
BEGIN
SELECT * FROM Companies , CVR, Compliance, GDPR;
END $$
DELIMITER ;
CALL DoC;
【问题讨论】:
-
存储过程不“返回”值。也许你想要一个函数。
-
想详细说明问题是什么?也许是错误消息?
-
嗯,存储过程只是一个存储函数,是的,它是我尝试编写的一个函数。
-
@MatBailie,问题不是错误,而是我将如何进行。我只是想问问你们这些了不起的人对我的问题有什么想法。
-
“嗯,存储过程只是一个存储函数......”不,那不是真的 MySQL 文档明确区分了存储过程和存储函数......