sqlServer 層狀設計

2021-04-12 21:32:29 字數 2435 閱讀 3141

原表結構:

summary

存貨分類檔案

columns

column name

description

datatype

length

allow nulls

cinvccode存貨大類編碼 

varchar

12 false 

cinvcname存貨大類名稱 

varchar

20 false 

iinvcgrade編碼級次 

tinyint

1 false 

binvcend是否末級 

bit1 

true 

cecocode所屬經濟分類編碼 

varchar

2 true 

cbarcode對應條形碼編碼 

varchar

30 true 

pubufts時間戳 

timestamp

8 true 

意圖 : 一級物料類別名稱---二級物料類別名稱---**物料類別名稱

將 此物料的類別進行層狀疊加

建立試圖

alter  view v_leniz_step_inventoryclass as

select

vl.cinvccode,

vl.classcode1, isnull(invl1.cinvcname,'') as classname1,

vl.classcode2, isnull(invl2.cinvcname,'') as classname2,

vl.classcode3, isnull(invl3.cinvcname,'') as classname3,

vl.classcode4, isnull(invl4.cinvcname,'') as classname4,

vl.classcode5, isnull(invl5.cinvcname,'') as classname5,

vl.classcode6, isnull(invl6.cinvcname,'') as classname6

from 

v_leniz_inventoryclass vl

left join inventoryclass invl1 on  vl.classcode1 = invl1.cinvccode

left join inventoryclass invl2 on  vl.classcode2 = invl2.cinvccode

left join inventoryclass invl3 on  vl.classcode3 = invl3.cinvccode

left join inventoryclass invl4 on  vl.classcode4 = invl4.cinvccode

left join inventoryclass invl5 on  vl.classcode5 = invl5.cinvccode

left join inventoryclass invl6 on  vl.classcode6 = invl6.cinvccode

試圖二:

create view v_leniz_stepclass as

select

cinvccode as classcode,

case

when len(cinvccode)=1  then classname1

when len(cinvccode)=3  then classname1 + '-' + classname2

when len(cinvccode)=5  then classname1 + '-' + classname2 + '-' + classname3

when len(cinvccode)=7  then classname1 + '-' + classname2 + '-' + classname3 + '-' + classname4

when len(cinvccode)=9  then classname1 + '-' + classname2 + '-' + classname3 + '-' + classname4 + '-' + classname5

when len(cinvccode)=11 then classname1 + '-' + classname2 + '-' + classname3 + '-' + classname4 + '-' + classname5 + '-' + classname6

else ''

end as classname

from v_leniz_step_inventoryclass

分層狀態機

在網上看到了一篇對分層狀態機講解的簡單易懂的,現摘抄如下 原版 如果我們讓npc巡邏兩個地方,比如安全的室內,和門口 如 果我們想在乙個狀態上附加一些狀況,例如當npc在巡邏時,讓他接乙個 然後再恢復巡邏,此時如果使用有限狀態機的話我們必須要新建乙個打 的狀態來 做過渡,但是此時的巡邏有兩個,所以能...

RESTful 表現層狀態轉換架構

3.總結 rest 全稱 representational state transfer 表現層狀態轉換 描述了乙個架構樣式的網路系統。rest 是乙個面向資源的設計風格。rest 傾向於用更加簡單輕量的方法設計和實現,值得注意的是,rest並沒有乙個明確的標準,而是一種設計風格。rest 指的是一...

SQL server 索引的設計

盡量避免表掃瞄 檢查你的查詢語句的where子句,因為這是優化器重要關注的地方。包含在where裡面的每一列 column 都是可能的侯選索引,為能達到最優的效能,考慮在下面給出的例子 對於在where子句中給出了column1這個列。下面的兩個條件可以提高索引的優化查詢效能!第一 在表中的colu...