首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进行plsql比较

进行plsql比较
EN

Stack Overflow用户
提问于 2015-03-22 15:52:42
回答 1查看 82关注 0票数 1

我是sql的新手,需要一些帮助。

我有一张名为“治疗”的表格,它有两个字段:

  • T_ID(主键)
  • T_NAME。

其中一些治疗方法不应与其他治疗方法一起使用。例如..。如果T_ID = 'T001‘与T_ID = 'T002’连用,就会引起严重的头痛。我想为他们中的几个做这些。

因此,我需要PL/SQL从用户那里获取一个值,哪个T_ID和程序将输出冲突处理。

提前感谢

这是我的桌子:

代码语言:javascript
复制
DROP TABLE TREATMENT CASCADE CONSTRAINTS;
CREATE TABLE TREATMENT(
T_ID VARCHAR2(5) PRIMARY KEY NOT NULL,
T_NAME VARCHAR2(15));

INSERT INTO TREATMENT VALUES
('T001','ACCUPUNCTURE');

INSERT INTO TREATMENT VALUES
('T002','MASSAGE');

INSERT INTO TREATMENT VALUES
('T003','SKIN CARE');

INSERT INTO TREATMENT VALUES
('T004','OSTEOPATHY');

INSERT INTO TREATMENT VALUES
('T005','HOMOEOPATHY');

INSERT INTO TREATMENT VALUES
('T006','PHYSIOTHERAPY');

INSERT INTO TREATMENT VALUES
('T007','PSYCHOLOGY');

INSERT INTO TREATMENT VALUES
('T008','DEMATOLOGY');

INSERT INTO TREATMENT VALUES
('T009','YOGA');

commit;

例如,我想要限制“瑜伽”和“皮肤科”的结合,因为它们会产生副作用。用户输入T009和系统回复..。瑜伽不应该和皮肤科一起服用。会引起头痛

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 08:30:44

这是一个数据建模问题。你需要另一张桌子来保存被禁止的组合。例如:

代码语言:javascript
复制
create table contraindication
   ( treatment1 VARCHAR2(5) 
     , treatment2 VARCHAR2(5)
     , primary key ci_pk (treatment1, treatment2) );

insert into contraindication values ('T008', 'T009');

你的程序应该查一下这张桌子。

您可能会发现插入这两种排列很有帮助,因为这将使查询更简单(如果列表变大,则会更高效):

代码语言:javascript
复制
insert into contraindication values ('T009', 'T008');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29196451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档