我正在尝试查看已在oraclelivesql中创建的两个不同表中的4列

am46iovg  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(284)

我想使用view命令在一个模式中显示这4列。我试着用前3列创建一个视图,因为它们来自同一个表。加上另一个专栏是我最头疼的。我尝试了alter函数,但是视图模式似乎没有表所具有的编辑权限。我希望这是有道理的。

create table PATIENTINFO (  
    PatientID       number not null,  
    FirstName       varchar2(50) not null,  
    LastName        varchar2(50) not null,  
    Address         varchar2(50),  
    City            varchar2(50),  
    State           varchar2(50),  
    ZipCode         number(5),  
    Phone           number(10) not null ,  
    Email           varchar2(50),  
    MemberID        number not null,  
    constraint  pk_departments primary key (PatientID)  
)
create table LABORDER ( 
    LabOrderNumber  number not null, 
    OrDate          date not null, 
    ReqBloodTest    varchar2(15) not null, 
    Reason          varchar(50), 
    PatientID       number not null, 
    constraint  pk_laborder primary key (LabOrderNumber), 
    constraint  fk_laborder_patientid foreign key (PatientID) 
            references PATIENTINFO (PatientID) 
)
CREATE VIEW PatientBlood AS 
      SELECT FirstName, LastName, PatientID 
      FROM PATIENTINFO
ne5o7dgx

ne5o7dgx1#

编写所需的查询,然后从中创建一个视图。我首先编写下面的查询,然后用create或replace view作为前缀。下面的示例有一些随机选择的列,请将其更改为所需的任何列。我选择在视图定义中为我的列命名,您可以省略这一点,但也可以按照文档中的说明执行其他一百万项操作
旁注:不要对列名/表名等标识符使用大小写混合。这令人困惑。在您的例子中,这并不重要,因为您没有使用引号,所以它们不区分大小写,下面的视图将工作,即使标识符都是小写的。

CREATE OR REPLACE VIEW laborder_v (
  labordernumber,
  patientid,
  lastname
) AS
  SELECT o.labordernumber,
         p.patientid,
         p.lastname
    FROM laborder o
    JOIN patientinfo p ON o.patientid = p.patientid;

相关问题