線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1222
推到 Plurk!
推到 Facebook!

資料庫的欄位問題

尚未結案
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-05 00:04:49 IP:220.142.xxx.xxx 未訂閱
請問各位前輩 小弟有一些資料庫的觀念問題還不是很懂 望起各位前輩賜教 1.為了解決欄位不允許空白的問題,需在該欄位上加什麼值? (例如:某個欄位不填程式自動加值,此值在表單上是看不到的) 2.當我們在建立一個A表單時,若需要B表單某一個欄位的值,該如何去call ,B表單的欄位來用? 3.當我有10個欄位每一個欄位都要相加種合該如何寫? 感謝萬分!!
------
Xax
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-05 08:29:47 IP:218.163.xxx.xxx 未訂閱
1. 用 "Default" (大部分資料庫都有這功能), 如:
  Create table tt (c1 number default 0 not null)    2. call ? 你是說 Lookup 嗎 ? 如果是, 這個程式要自己寫.
   資料庫只能運用 "constraint" 或 "trigger" 來驗證 Foreign Key, 如:
用 constraint:
CREATE TABLE E_1 (
       c1                   CHAR(18) NOT NULL,
       PRIMARY KEY (c1)
);    CREATE TABLE E_2 (
       p1                   CHAR(18) NOT NULL,
       c1                   CHAR(18) NULL,
       PRIMARY KEY (p1), 
       FOREIGN KEY (c1)
                             REFERENCES E_1
);
用 Trigger
create trigger tI_E_2 after INSERT on E_2 for each row
declare numrows INTEGER;
begin
    select count(*) into numrows
      from E_1
      where :new.c1 = E_1.c1;
    if ((:new.c1 is not null) and (numrows = 0))
    then
      raise_application_error(
        -20002,
        'Cannot INSERT E_2 because E_1 does not exist.'
      );
    end if;
end;    3.用 "sum", 如:
  select sum(c1),sum(c2)...,sum(c10) from tt group by c11    
發表人 - Mickey 於 2005/08/05 08:30:28
cwc65536
初階會員


發表:47
回覆:121
積分:48
註冊:2004-10-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-07 02:45:09 IP:203.203.xxx.xxx 未訂閱
插花請教 Mickey 版主 : Create table tt (c1 number default 0 not null) 如果是字串, default 該用啥 ? 不知,在此插花相關問題, 恰當嗎 ?    2. 回應 20052020 , 以一個生手的角度猜測(因為,問題不清楚): 若 A 表的代號欄位, 要關聯出 B表的 名稱欄位, 可以用 join select *,B.name Bname from A left join B on (A.no=B.no)    若是 要用 B 表, 去建立 A 表 select * into A from B    3. 在我的 SQL explor 上測試, 如果要 group , select 上要加 c11 否則會錯 select c11,sum(c1),sum(c2)...,sum(c10) from tt group by c11
shunaarom
一般會員


發表:8
回覆:34
積分:18
註冊:2003-07-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-08 00:28:49 IP:220.134.xxx.xxx 未訂閱
引言: 請問各位前輩 小弟有一些資料庫的觀念問題還不是很懂 望起各位前輩賜教 1.為了解決欄位不允許空白的問題,需在該欄位上加什麼值? (例如:某個欄位不填程式自動加值,此值在表單上是看不到的) 2.當我們在建立一個A表單時,若需要B表單某一個欄位的值,該如何去call ,B表單的欄位來用? 3.當我有10個欄位每一個欄位都要相加種合該如何寫? Select SUM(欄位) As 加總 From Table Group By
第1個問題~ 要看大大的欄位為何~假設是日期~ 那可以填入一個較離普的日期~如2099/12/31~之後只要讀到這個~ 就表示當時是沒有填值的~ 如為一字串或數字~要先看欄位(資料)是什麼~在存一個不可能發生的值~ 第2個問題~ 可以用 inert into ~可以去本一下用法~和你自己需求~ 第3個問題~ Select 欄位 As 加總 From Table Group By 欄位
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-08 13:39:41 IP:218.163.xxx.xxx 未訂閱
引言: 插花請教 Mickey 版主 : Create table tt (c1 number default 0 not null) 如果是字串, default 該用啥 ?
只要是字串都行. c1 varchar(20) default 'aaa' 或 c1 varchar(20) default to_char(sysdate). ( 預設 "當時" ; For Oracle )
系統時間:2024-06-26 17:21:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!