PL/SQL程序设计_基本语法

本文详细介绍了SQL语句的使用方法,包括DML、DDL、查询语句及简单的数据库操作,涵盖了从数据插入、删除到数据查询的全过程。


DECLARE
V_DATE DATE := SYSDATE;
v_var VARCHAR2(20);
V_VALID BOOLEAN;
BEGIN
  IF V_VAR IS NULL THEN
    DBMS_OUTPUT.PUT_LINE('V_VAR IS NULL');
    END IF;
    INSERT INTO T_TEST VALUES (1,'zizhu');
    COMMIT;   
    V_VAR := 'HELLO,WORLD';
    V_VALID := 'hello,world' LIKE V_VAR;--LIKE 比较字符串是否相等
    DBMS_OUTPUT.PUT_LINE(V_VAR);
    DBMS_OUTPUT.PUT_LINE(TO_CHAR(V_DATE,'YYYY-MM-DD HH:MI:SS'));
    DBMS_OUTPUT.PUT_LINE('连接' || '两个' || '字符串');    
END;
/

--使用dml语句
DECLARE
V_ID BINARY_INTEGER := 23;
V_NAME VARCHAR2(30) := 'zizhu8';
BEGIN
  DELETE FROM T_TEST;
  INSERT INTO T_TEST VALUES (V_ID,V_NAME);
  COMMIT;
  END;
/

--使用select语句
DECLARE
V_COUNT NUMBER(4);
V_ID BINARY_INTEGER;
V_NAME VARCHAR2(30);
BEGIN
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中的数据共有:' || V_COUNT || '条');
  SELECT ID,NAME
  INTO V_ID,V_NAME
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE(V_ID || '对应' || V_NAME);
  END;
/

--sql语句的基本使用
DECLARE
V_COUNT BINARY_INTEGER;--专门计数使用的类型,效率比较高
V_ID NUMBER(4);
V_NAME VARCHAR2(30);
BEGIN
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  IF V_COUNT = 0 THEN
  DBMS_OUTPUT.PUT_LINE('T_TEST表中没有数据');
  DBMS_OUTPUT.PUT_LINE('向T_TEST表中插入一条数据后....');
  INSERT INTO T_TEST SELECT * FROM T_TEST2; 
  END IF;    
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中共有' || V_COUNT || '条数据');
  
  IF V_COUNT = 1 THEN
  SELECT ID,NAME
  INTO V_ID,V_NAME
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中的数据有:' || V_ID || '--' || V_NAME);
  END IF;
  
  V_ID := 1;
  V_NAME := 'zizhu8';
  DBMS_OUTPUT.PUT_LINE('修改这条数据' || V_ID || '--' || V_NAME);
  UPDATE T_TEST SET ID = V_ID,NAME = V_NAME WHERE ID = (SELECT ID FROM T_TEST WHERE ROWNUM <= 1);
  
  SELECT ID,NAME
  INTO V_ID,V_NAME
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('修改T_TEST表中的数据后:' || V_ID || '--'  || V_NAME);
  
  DELETE FROM T_TEST WHERE ID = (SELECT ID FROM T_TEST WHERE ROWNUM <= 1);
  DBMS_OUTPUT.PUT_LINE('删除第一条记录后....');
  
  SELECT COUNT(*)
  INTO V_COUNT
  FROM T_TEST;
  DBMS_OUTPUT.PUT_LINE('T_TEST表中共有' || V_COUNT || '条数据');
  COMMIT;
  END;
/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值