自己在這裡做個備註......
sql servere 2008 新穎之處在於錶值引數(tvps)。基本思想是資料表可以在客戶端應用程式
或者t-sql 中建立並填充。然後作力乙個資料表變數傳遞到儲存過程 或者由使用者自定義的函式中。
這並不是一件要有可無的事情。
demo:
//訂單表create
table
dbo.orders(
orderid
intnot
null
identity
constraint orderspk primary
key,
orderdate
datetime
, customerid
int)
//訂單明細表
create
table
dbo.orderdetails(
orderid
intnot
null
constraint orderdetailfkorders references
orders,
linenumber
smallint
notnull
, productid
int)
---資料表型別
create type orderdetailstype as
table
( linenumber
int,
productid
int,
isnew
bit,
isdirty
bit,
isdeleted
bit)
一但建立了表型別。在資料庫的object explore|programmability|types|user-defined table types 節點下就可以看到該型別。
隨著資料表型別建立。現在可能會建立引用資料表型別的儲存過程。表必須要定義為有peadonly 選項的表型別名。tvp的引數看上
去和儲存過程 的表變數相似。
sqlserver 2008 刪除所有表
declare c cursor for 定義游標 select name from sysobjects where xtype u 查詢所有表 declare t varchar 20 open c fetch next from c into t while fetch status 0 be...
sqlserver 2008 獲取表屬性
以下sql 為獲取 sqlserver2008 乙個資料庫中所有表的資訊,便於把資料庫表資訊匯出為excel或者word做成資料庫字典 select 表名 case when a.colorder 1 then d.name else end,表說明 case when a.colorder 1 t...
Sql Server 2008的動態交叉表
今天又幫別人寫了一段動態交叉表,幾年沒搞了,生疏了點,馬上再記錄一下 declare s varchar max set s select s s typename from view analogy dynamicquery group by typename set s stuff s,1,1,...