- -- select sysdate from dual;
- -- 以管理員身份登錄PL/SQL, create tablespace
- create tablespace YourProject_table_space datafile 'D:\oracle\data\customed\YourProject.dbf' size 100M;
- -- create user and assign tablespace for this user
- create user YourProject_admin_u identified by YourProject_admin_p default tablespace YourProject_table_space;
- -- grant user privilege
- grant connect,resource to YourProject_admin_u;
- -- 以 YourProject_admin_u 身份登錄 oracle 數據庫,創建如下的表 及 存儲過程
- create table tblStatistic
- (
- ID int
- ,UserID varchar2(50)
- ,UserName varchar2(50)
- ,Telephone int
- ,StatisticTypeID int --2:user login; 3:online draft; 4:audit or modify
- ,Title varchar2(500)
- ,ObjectID int -- if not have this value, fill 0
- ,OperDate Date
- );
- create table tblVideo
- (
- ID int
- ,Subject varchar2(50)
- ,Description varchar2(50)
- ,YoukuVideoUrl varchar2(1000)
- ,YoukuVideoID varchar(50)
- ,OperDate Date
- ,ViewCount int
- ,YoukuPlayUrl varchar2(1000)
- ,DownloadUrl varchar2(1000)
- );
- -- 用戶收藏
- create table tblUserFavorite
- (
- ID int
- ,UserID varchar2(50)
- ,UserName varchar2(50)
- ,Telephone int
- ,ArticleID int
- ,ArticleTypeID int
- ,Title varchar2(100)
- ,Description varchar2(500)
- ,OperDate date
- ,DocTypeID int -- (0-案例, 1-合同, 2-法律)
- );
- -- 用戶諮詢
- create table tblUserConsultation
- (
- ID int
- ,UserID varchar2(50)
- ,UserName varchar2(50)
- ,Telephone int
- ,RequestPeople varchar2(50)
- ,BusinessType varchar2(50)
- ,BusinessSubType varchar2(50)
- ,Topic varchar2(100)
- ,Content varchar2(4000)
- ,IsPublic numeric(1)
- ,OperDate date
- );
- -- 用戶反饋
- create table tblUserFeedback
- (
- ID int
- ,UserID varchar2(50)
- ,UserName varchar2(50)
- ,Telephone int
- ,Email varchar2(100)
- ,Content varchar2(1000)
- ,OperDate date
- );
- -- 文章閱讀信息
- create table tblArticleRead
- (
- ID int
- ,ArticleID int
- ,ArticleTypeID int
- ,ArticleType varchar2(50)
- ,ReadCount int
- );
- -- 系統裝機統計
- create table tblInstallDevice
- (
- ID int
- ,DeviceNumber varchar2(100)
- ,InstallDate date
- );
- -- store procedure
- -- 增加文章閱讀
- create or replace procedure spAddArticleRead
- (
- v_articleID int,
- v_articleTypeID int,
- v_articleType varchar2
- )
- as
- v_existCount int;
- begin
- SELECT count(*) into v_existCount
- from tblArticleRead where ArticleID=v_articleID and ArticleTypeID=v_articleTypeID;
- --dbms_output.put_line(v_existCount);
- if(v_existCount>=1) then
- --dbms_output.put_line('exists');
- update tblArticleRead set ReadCount=ReadCount+1 where ArticleID=v_articleID and ArticleTypeID=v_articleTypeID;
- else
- --dbms_output.put_line('not exists');
- insert into tblArticleRead
- (
- ID,ArticleID,ArticleTypeID
- ,ArticleType,ReadCount
- )
- select nvl(max(ID),0) + 1,v_articleID,v_articleTypeID
- ,v_articleType,1
- from tblArticleRead;
- end if;
- end;
- -- 增加用戶收藏
- create or replace procedure spAddMyFavorite
- (
- v_UserID varchar2,
- v_UserName varchar2,
- v_Telephone varchar2,
- v_ArticleID int,
- v_ArticleTypeID int,
- v_Title varchar2,
- v_Description varchar2,
- v_DocTypeID int
- )
- as
- v_tmpWhere varchar2(4000);
- v_tmpSQL varchar2(4000);
- v_existCount int;
- begin
- v_tmpWhere :='';
- if nvl(v_UserID,'X') !='X' then
- v_tmpWhere := v_tmpWhere || ' and UserID=''' || trim(v_UserID) || '''';
- end if;
- if nvl(v_UserName,'X') !='X' then
- v_tmpWhere := v_tmpWhere || ' and UserName=''' || trim(v_UserName) || '''';
- end if;
- if nvl(v_Telephone,'X') !='X' then
- v_tmpWhere := v_tmpWhere || ' and Telephone=''' || v_Telephone || '''';
- end if;
- if v_ArticleID >0 then
- v_tmpWhere := v_tmpWhere || ' and ArticleID=' || v_ArticleID ;
- end if;
- if v_ArticleTypeID >0 then
- v_tmpWhere := v_tmpWhere || ' and ArticleTypeID=' || v_ArticleTypeID;
- end if;
- if nvl(v_Title,'X') !='X' then
- v_tmpWhere := v_tmpWhere || ' and Title =''' || trim(v_Title) || '''';
- end if;
- if nvl(v_Description,'X') !='X' then
- v_tmpWhere := v_tmpWhere || ' and Description =''' || trim(v_Description) || '''';
- end if;
- if v_DocTypeID >-1 then
- v_tmpWhere := v_tmpWhere || ' and DocTypeID =' || v_DocTypeID ;
- end if;
- --dbms_output.put_line(v_tmpWhere);
- if(length(v_tmpWhere)>0) then
- v_tmpWhere := ' where ' || substr(v_tmpWhere,5);
- end if;
- v_tmpSQL :='SELECT count(*) from tblUserFavorite ' || v_tmpWhere;
- EXECUTE IMMEDIATE v_tmpSQL into v_existCount;
- --dbms_output.put_line(v_tmpSQL);
- --dbms_output.put_line(v_existCount);
- if(v_existCount<1) then
- --dbms_output.put_line('not exists');
- insert into tblUserFavorite
- (
- ID,UserID,UserName,Telephone
- ,ArticleID,ArticleTypeID,Title,Description
- ,OperDate,DocTypeID
- )
- select nvl(max(ID),0) + 1,v_UserID,v_UserName,v_Telephone
- ,v_ArticleID,v_ArticleTypeID,v_Title,v_Description
- ,to_date(sysdate),v_DocTypeID
- from tblUserFavorite;
- else
- dbms_output.put_line('您已經收藏過此項!');
- raise_application_error(-20001,'您已經收藏過此項!');
- end if;
- end;
- -- 添加裝機信息
- create or replace procedure spAddInstallDevice
- (
- v_DeviceNumber varchar2
- )
- as
- begin
- insert into tblInstallDevice
- (
- ID,DeviceNumber,InstallDate
- )
- select nvl(max(ID),0) + 1,v_DeviceNumber,to_date(sysdate)
- from tblInstallDevice;
- end;
- -- 添加統計信息
- create or replace procedure spAddStatisticContent
- (
- v_UserID varchar2,
- v_UserName varchar2,
- v_Telephone varchar2,
- v_StatisticTypeID int,
- v_Title varchar2,
- v_ObjectID int
- )
- as
- begin
- insert into tblStatistic
- (
- ID,UserID,UserName,Telephone
- ,StatisticTypeID,Title,ObjectID
- ,OperDate
- )
- select nvl(max(ID),0) + 1,v_UserID,v_UserName,v_Telephone
- ,v_StatisticTypeID,v_Title,v_ObjectID
- --,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
- ,to_char(sysdate)
- from tblStatistic;
- end;
oracle 建表空間,授權,建表,建存儲過程腳本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.