orcal单表增删改查和基本的存储过程

DROP TABLE "MLPRTAPP"."TAB_TESTS";
CREATE TABLE "MLPRTAPP"."TAB_TESTS" (
"ID" NUMBER NOT NULL ,
"NAME" VARCHAR2(60 BYTE) NULL ,
"DEPT" VARCHAR2(255 BYTE) NULL 
)
LOGGING
NOCOMPRESS
NOCACHE
;

ALTER TABLE "MLPRTAPP"."TAB_TESTS" ADD CHECK ("ID" IS NOT NULL);
ALTER TABLE "MLPRTAPP"."TAB_TESTS" ADD PRIMARY KEY ("ID");
--新增
INSERT INTO TAB_TESTS VALUES('1','张三','软件开发部');
INSERT INTO TAB_TESTS (ID,NAME,DEPT) VALUES('2','lisi','软件开发部');
INSERT INTO TAB_TESTS (ID,NAME,DEPT) VALUES('3','王二','软件开发部');

--删除
DELETE FROM TAB_TESTS WHERE ID = '1' 
DELETE FROM TAB_TESTS WHERE "NAME" = 'vfs' 

--更新
UPDATE TAB_TESTS SET ID='2' WHERE NAME = '王二';
UPDATE TAB_TESTS SET ID='3' WHERE NAME = '张三';

--查询
select * from TAB_TESTS;
select COUNT(*) from TAB_TESTS;
SELECT DISTINCT NAME FROM TAB_TESTS;
SELECT * FROM TAB_TESTS ORDER BY ID;
SELECT * FROM TAB_TESTS TTS WHERE TTS."ID"='1' OR TTS."ID"='2'
SELECT * FROM TAB_TESTS TTS WHERE TTS."ID" = '1' 
SELECT * FROM TAB_TESTS  WHERE ID = '1' 

--简单存储过程crud--
DROP procedure INSERT_Num  删除添加数据的存储过程
DROP procedure update_name 删除更新数据的存储过程

---新增数据--
CREATE or replace PROCEDURE INSERT_Num
( 
  i_id in NUMBER,
	i_NAME in VARCHAR2,
  i_DEPT in VARCHAR2
) AS
BEGIN 
 INSERT INTO TAB_TESTS(ID,Name,DEPT) VALUES(i_id,i_NAME,i_DEPT);
END INSERT_Num;
call INSERT_Num(3,'zhangsna','一部')

--更新数据--
create or replace procedure update_name(
u_ID  NUMBER,
u_name  varchar2, 
u_DEPT  varchar2
)
is
begin
update TAB_TESTS set name=u_name ,DEPT =u_DEPT where ID=u_ID;  
end update_name;
call update_name(5,'laowu','wu');


--查询总个数--
create or replace procedure getSumCount
as
getCount number(11);
BEGIN
 SELECT COUNT(*) INTO getCount FROM TAB_TESTS;
  dbms_output.put_line('TAB_TESTS表的共有记录数:'|| getCount);
END getSumCount;
call getSumCount();

-- 查询单个---
CREATE OR REPLACE PROCEDURE getByID(inpId IN NUMBER)
AS
tNAME VARCHAR2(60);
tDEPT VARCHAR2(60);
  BEGIN
      SELECT TTS.NAME,TTS.DEPT into tNAME,tDEPT FROM TAB_TESTS TTS where TTS.ID = inpId;
      DBMS_OUTPUT.PUT_LINE('员工名:'||tNAME||'部门:'||tDEPT);
      EXCEPTION
        WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('无数据');
  END getByID;
--call getByID(1);

--drop PROCEDURE getByID

--查询全部--
CREATE OR REPLACE PROCEDURE getALL_Num
AS
tID NUMBER(11);
tNAME VARCHAR2(60);
tDEPT VARCHAR2(60);
  BEGIN
      SELECT TTS.ID,TTS.NAME,TTS.DEPT into tID,tNAME,tDEPT FROM TAB_TESTS TTS;
      DBMS_OUTPUT.PUT_LINE(tID||'员工名:'||tNAME||'部门:'||tDEPT);
      EXCEPTION
        WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('无数据');
  END getALL_Num;


--删除--
CREATE OR REPLACE PROCEDURE deleteByID(inpId IN NUMBER)
AS
  BEGIN
      DELETE FROM TAB_TESTS TTS where TTS.ID = inpId;
  commit;
  END deleteByID;
call deleteByID(1);


猜你喜欢

转载自blog.csdn.net/qq_15007327/article/details/79088146