Sql server 2008 錶值引數

2021-09-07 23:08:31 字數 1118 閱讀 8378

自己在這裡做個備註......

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,...