1)删除表的一列
ALTER TABLE 表名 DROP COLUMN 列名;
2)增加表的一列 且默认值为0
alter table 表名 add 字段名 类型 default '0';
3)修改表的字段为NULL
ALTER TABLE 表名 MODIFY 要修改的字段名字 NULL;
4)修改表的字段名
alter table 表名 rename column 原字段名 to 目标字段名;
5)创建视图
CREATE VIEW 视图名字AS sql语句
6)删除视图
drop view 视图名字
7)修改表名字
ALTER TABLE 旧表名 RENAME TO 新表名;
8)取最小ID
SELECT MIN(patientid)+1 AS patientid FROM patient a WHERE NOT EXISTS(SELECT patientid FROM patient b WHERE a.patientid+1=b.patientid)
9)更新表的字段值是另外一个表的字段值。
UPDATE DRUGPA Dp SET dp.MATERIALID= (SELECT M.MATERIALID FROM MATERIAL M WHERE DP.DRUGID=M.DRUGID and m.MATERIALtype='4' and dp.sign='1' ) WHERE EXISTS(SELECT 1 FROM MATERIAL M WHERE DP.DRUGID=M.DRUGID and m.MATERIALtype='4' and dp.sign='1')
10)创建序列
CREATE SEQUENCE "SEQ_ZHX0826_DIABETES_VISIT" MINVALUE 1 MAXVALUE 9999999999999999999999999999
INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE ;
11)删除序列
DROP SEQUENCE SEQ_ZHX0826_DIABETES_VISIT;
12)对blob类型的字段nr插入数据,rawtohex()函数为转换十六进制的二进制进行存储。
insert into W_nrfb (id,mkmxid,czy,nr) values (portals_seq.nextval,1,1,rawtohex('--------------###'))
13)在查询blob较小的时候可以使用
select convert(UTL_RAW.CAST_TO_VARCHAR2(nr), 'utf8', 'zhs16gbk') from W_nrfb where id=81