cache資料庫入門教程
1.建立csp檔案
2.儲存到dthealth/web/csp下
3.進入demo 1 網頁系統配置->選單管理,將它放到註冊建卡選單下,選單項名為培訓測試
4.找到剛才的網頁,允許通過為Demo Group
5.更新,註冊建卡里就有了這個csp
上一篇 IIS配置問題
1..MAC檔案是m語言,下面是test111.MAC
-
test111
-
aa()
-
w "abc"
-
q 0
- 最上面的名字和檔名一致
- 然後是方法名
- 檔名和方法名要頂頭寫,不能有空格
呼叫方式:DHC-APP>d aa^test111(),方法名有括號就帶括號
2..cls是類檔案,方法的寫法與上面不一樣
-
ClassMethod aa()
-
{
-
w "abc"
-
q 0
-
}
- 呼叫方式:DHC-APP>d ##class(web.test111).aa()
3.建立臨時Global
-
DHC-APP>set ^TEMP=3//Global物理儲存到資料庫,terminal關了的話還會有,其他變數會消失
-
DHC-APP>S ^TEMP("A")=1//設定節點
-
DHC-APP>s ^TEMP("B")=2
在Global裡可以搜尋到^TEMP
4.$h日期函式
$ZDate 把$Horolog 格式的日期值按照指定格式顯示
+號表示第一個非數字符號前的數字
$ZDateH 是$ZDate 的反函式
$ZTime 把$Horolog 格式的時間值按照指定格式顯示。
$ZTimeH $ZTime 的反函式。
-
DHC-APP>w $h
-
63802,58589
-
DHC-APP>w $zd(63802)
-
09/07/2015
-
DHC-APP>w $zd(63802,3)
-
2015-09-07
-
DHC-APP>w +$h
-
63802
-
DHC-APP>w $zd(+$h,3)
-
2015-09-07
-
DHC-APP>w $zdh("2015-9-7",3)
-
63802
-
DHC-APP>w $zdh("2024-9-7",3)-$zdh("2015-9-7",3)
-
3288
-
DHC-APP>w $zt(58543)
-
16:15:43
-
DHC-APP>w $zt(58543,2)
-
16:15
-
DHC-APP>w $zt(58543,3)
-
04:15:43PM
-
DHC-APP>w $zt($p($h,",",2))
-
17:07:50
5.$i
對每次執行的global產生唯一一個值
-
DHC-APP>w $i(^TEMP)
-
4
-
DHC-APP>w $i(^TEMP)
-
5
-
DHC-APP>w $i(^TEMP)
-
6
6.$e擷取字串
-
DHC-APP>s a="abcdef"
-
DHC-APP>w $e(a,2)
-
b
-
DHC-APP>w $e(a,2,4)
-
bcd
7.for迴圈1加到100
-
ClassMethod testfor()
-
{
-
s m=0
-
f i=1:1:100 d
-
.s m=m+i
-
s sum=m
-
q sum
-
}
-
DHC-APP>w ##class(web.test111).testfor()
-
5050
- 計算有多少個科室
-
ClassMethod testfor()
-
{
-
s m=0
-
s ctlocrowid=""
-
//q和d,f和s空兩個空格
-
f s ctlocrowid=$o(^CTLOC(ctlocrowid)) q:ctlocrowid="" d
-
.s m=m+1
-
s sum=m
-
q sum
-
}
- 8.Terminal檢視Global
zw ^STUDENT
9.buildIndices()重建索引指定的類
上一篇 IIS配置問題
1.建立Student表
表名:t_Student RowID:St_RowID
屬性:StCode,StName,StSexDR,StDob
StSexDR為性別指向,指向一個CTSex性別表
-
Class User.Student Extends %Persistent [ SqlRowIdName = St_RowID, SqlTableName = t_Student, StorageStrategy = StudentStorage ]
-
{
-
Property StCode As %String [ Required, SqlColumnNumber = 2, SqlFieldName = st_code ];
-
Property StName As %String [ SqlColumnNumber = 3, SqlFieldName = st_name ];
-
Property StSexDR As CTSex [ SqlColumnNumber = 4, SqlFieldName = st_sex_dr ];
-
Property StDob As %Date [ SqlColumnNumber = 5, SqlFieldName = st_dob ];
-
Relationship ChildCourse As User.StuCourse [ Cardinality = children, Inverse = StudParRef ];
-
Index indexcode On StCode;
-
}
- 2.建立Course表
-
Class User.Course Extends %Persistent [ SqlRowIdName = C_RowID, SqlTableName = t_Course, StorageStrategy = CourseStorage ]
-
{
-
Property Code As %String [ SqlColumnNumber = 2, SqlFieldName = C_Code ];
-
/// 課程描述
-
Property Desc As %String [ SqlColumnNumber = 3, SqlFieldName = C_Desc ];
-
Property DateFrom As %Date [ SqlColumnNumber = 4, SqlFieldName = C_DateFrom ];
-
Property Active As %String(DISPLAYLIST = ",Yes,No", MAXLEN = 3, TRUNCATE = 1, VALUELIST = ",Y,N") [ SqlColumnNumber = 5, SqlFieldName = C_Active ];
-
Property UserDr As User.SSUser [ SqlColumnNumber = 6, SqlFieldName = C_User_Dr ];
-
}
3.學生選課表
-
Class User.StuCourse Extends %Persistent [ SqlRowIdName = SC_RowID, SqlTableName = t_StuCourse, StorageStrategy = stucourse ]
-
{
-
Index RowIDBasedIDKeyIndex On SCChildSub [ IdKey, PrimaryKey, Unique ];
-
Relationship StudParRef As User.Student [ Cardinality = parent, Inverse = ChildCourse, Required, SqlFieldName = SC_S_ParRef ];
-
Property SCChildSub As %Library.Numeric(SCALE = 0) [ InitialExpression = {$i(^STUDENT($p($s($d(initvalue):initvalue,1:%d(0)),$c(1)),"C",0))}, Required, SqlColumnNumber = 2, SqlFieldName = SC_ChildSub ];
-
Property SCCourseDr As User.Course [ SqlColumnNumber = 3, SqlFieldName = SC_Course_Dr ];
-
Property SCScore As %Float [ SqlColumnNumber = 4, SqlFieldName = SC_Score ];
-
}
注意:Rowid用表名.Rowid
4.查詢某個學生的選課情況
-
Class web.StuCourse Extends %Persistent
-
{
-
ClassMethod FindCourseByStud(stuno)
-
{
-
Quit:stuno="" ""
-
;第二個空是返回值
-
set stuId=$o(^STUDENTi(0,"No",stuno,""))
-
set sub=0
-
For set sub=$o(^STUDENT(stuId,"C",sub)) quit:sub="" d
-
.set g=^STUDENT(stuId,"C",sub)
-
.set CourseId=$p(g,"^",1)
-
.set CourseDesc=$p(^COURSE(CourseId),"^",2)
-
.set Score=$p(g,"^",2)
-
.Write CourseDesc_" "_Score
-
}
-
}
上一篇 IIS配置問題
1.我們已經建了一個person類,接下來就是表的儲存結構
2.開啟Inspector,先輸入rowid名字為p_RowID,選class->Storage
3.新建一個Storage,選擇CacheSQLStorage,在SqlIdExpression中輸入$i(^mdata(“Person”))是\$不是S
意思是設定Rowid為自增,注意StremLocation的寫法
4.Caché 以多維陣列儲存資料,所有資料都是儲存Global中。Global以如下形式表示:^名稱(下標1,下標2,下標3…)=值
SET ^Y(3,6,7)=”third”
SET ^Y(3,6,8)=”fourth”
SET ^Y(3,6,7,8,4)=”fifth”
SET ^Y(3,6,7,8,9)=”sixth”
Global的樹狀結構如下:
5.開啟SQL storage map建立索引,點選add,選擇map type為data,輸入global名,一般為類名的大寫
6.點選左側data,選擇add新增glabal的三條資料,用“^”隔開
7.點選左側Subscripts,輸入{p_RowID}
8.點選左側Rowid,輸入如圖所示
9.這時就建立了一個主索引,通過rowid可以查詢表資料
^PERSON(1)=xiaoming^18^man
^PERSON是global名,(1)表示rowid為1,後面的資料位置根據data裡的位置排列
10.接下來,我們在建一個索引,在NewStorage1裡add一個索引,map type選擇index,輸入global名
11.Subscripts建立如圖所示,這裡表示了global的四個層級,第一和第二層級是自己起的名字,方便理解global儲存的資訊,三四層是具體內容
12.rowid如圖所示,是第四層
13.這個以名字建立的索引我們以global來理解
^PERSONi(0,”name”,”xiaoming”,1)=0
相關文章
- Nodejs教程21:資料庫入門NodeJS資料庫
- Oracle資料庫初學者入門教程Oracle資料庫
- 瀏覽器資料庫 IndexedDB 入門教程瀏覽器資料庫Index
- 《MySQL 入門教程》第 03 篇 管理資料庫MySql資料庫
- Python 資料處理庫 pandas 入門教程Python
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- css入門教程資料(4)CSS
- MongoDB資料庫入門MongoDB資料庫
- Android高效能ORM資料庫DBFlow入門教程AndroidORM資料庫
- ADO.NET入門教程之資料庫連線池資料庫
- 手機資料抓包入門教程
- 2、Entity Framework Core 3.1入門教程-建立資料庫和遷移Framework資料庫
- dbForge Studio for SQL Server入門教程:如何連線到資料庫SQLServer資料庫
- 資料庫事務入門指南資料庫
- 前端的資料庫:IndexedDB入門前端資料庫Index
- Struts2入門教程(學習教程資料).pdf
- LVGL庫入門教程 - 動畫動畫
- (轉)資料庫Flash Cache(II)資料庫
- Laravel 入門教程中-資料填充-修改分享Laravel
- 《MySQL 入門教程》第 10 篇 資料排序MySql排序
- Redis入門教程(二)— 基本資料型別Redis資料型別
- Python入門教程—資料分析工具PandasPython
- AE入門教程及素材資料連結
- 雲端計算教程學習入門影片課件:常用資料庫排名資料庫
- MySQL基礎入門學習教程:mysql資料庫的實現原理MySql資料庫
- MySQL資料庫入門多例項配置MySql資料庫
- Redis快取資料庫-快速入門Redis快取資料庫
- 資料庫設計簡單入門資料庫
- python資料庫操作 - PyMySQL入門Python資料庫MySql
- MySQL入門--查詢資料庫資訊MySql資料庫
- Oracle資料庫該怎麼入門?Oracle資料庫
- 分散式資料庫入門:以國產資料庫 TDSQL 為例分散式資料庫SQL
- PWA(Progressive Web App)入門系列:Cache Storage & CacheWebAPP
- Realm資料庫 從入門到“放棄”資料庫
- Flask入門到放棄(四)—— 資料庫Flask資料庫
- Realm 資料庫 從入門到“放棄”資料庫
- 圖資料庫Neo4j入門資料庫
- 【資料庫】MySQL入門常用命令資料庫MySql