02_變量的定義

declare
  --數字類型  Number
  v_i number(2) := 1;
  v_j number(5, 2);

  --字符類型  char/varchar2
  v_c   char(3);
  v_str varchar2(200);

  --布爾類型
  v_flag boolean;

  --日期類型
  v_date date;

  --Type與RowType類型
  v_username T_Userinfo.Username%type;
  v_password T_Userinfo.Password%type;

  v_row T_Userinfo%Rowtype;

  --自定義類型。
  type Dog is Record(
    dog_id    number,
    dog_name  varchar2(10),
    dog_color varchar2(10));

  v_dog Dog;

  -------------常量的聲明--------
  PI constant Number Not NULL := 3.1415926;

  --動態變量
  v_count      number;
  v_max_salary number;

begin
  --爲變量賦值,賦值的符號爲 := 

  --1:定義變量時,直接賦值。

  --2:在Begin塊中爲變量賦值。[靜態賦值]

  v_i    := 2;
  v_j    := 312.23334;
  v_c    := 'ch';
  v_str  := '這是字符串';
  v_flag := false;
  v_date := sysdate;

  v_username := 'admin';
  v_password := '1234';

  v_row.userid  := 11;
  v_row.userage := 21;
  v_row.address := '地址信息';
  v_row.salary  := 11223;

  v_dog.dog_id   := 2;
  v_dog.dog_name := '狗名';

  --輸出變量。2種方式。

  dbms_output.put_line('v_i = ' || v_i);
  dbms_output.put_line('v_j = ' || v_j || ' '); --類似java中的"+變量名+"

  --布爾值不能輸出
  --dbms_output.put_line('v_flag = ' || v_flag);

  dbms_output.put_line('v_username = ' || v_username);
  dbms_output.put_line('v_password = ' || v_password);
  dbms_output.put_line('v_row.userid = ' || v_row.userid);
  dbms_output.put_line('v_row.userage = ' || v_row.userage);
  dbms_output.put_line('v_row.address = ' || v_row.address);
  dbms_output.put_line('v_dog.dog_name = ' || v_dog.dog_name);

  --select into用於動態賦值。
  --1:必須返回一行,多列的值。
  --2:不能返回空行。
  select count(1) into v_count from T_userinfo;

  select max(salary) into v_max_salary From T_Userinfo;

  Select * into v_row From T_Userinfo where userid = 5;
  
  dbms_output.put_line('v_count = ' || v_count);
  dbms_output.put_line('v_max_salary = ' || v_max_salary);
  dbms_output.put_line('v_row.username = ' || v_row.username);
end;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章