共用方式為


WRITETEXT (Transact-SQL)

允許現有 textntextimage 資料行記錄最少的互動式更新。WRITETEXT 會覆寫它所影響之資料行中的任何現有資料。檢視中的 textntextimage 資料行不能使用 WRITETEXT。

ms186838.note(zh-tw,SQL.90).gif重要事項:
未來的 Microsoft SQL Server 發行版本將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 請改用 UPDATE 陳述式的大數值資料類型和 .WRITE 子句。

主題連結圖示Transact-SQL 語法慣例

語法

WRITETEXT { table.column text_ptr }
    [ WITH LOG ] { data }

引數

  • table**.column**
    這是要更新的資料表和 textntextimage 資料行的名稱。資料表和資料行名稱必須符合識別碼的規則。資料庫名稱和擁有者名稱的指定是選擇性的。
  • text_ptr
    這是用來儲存 textntextimage 資料之指標的值。text_ptr 必須是 binary(16)。若要建立文字指標,請搭配 textntextimage 資料行並非 Null 的資料,來執行 INSERTUPDATE 陳述式。
  • WITH LOG
    SQL Server 會忽略這個項目。記錄取決於資料庫的實際復原模式。
  • data
    這是要儲存的實際 textntextimage 資料。data 可以是常值或參數。textntextimage 資料可利用 WRITETEXT 以互動方式插入的文字,最大長度大約是 120 KB。

備註

請利用 WRITETEXT 來取代 textntextimage 資料,利用 UPDATETEXT 來修改 textntextimage 資料。UPDATETEXT 比較靈活,因為它只會變更 textntextimage 資料行的一部份,不會變更整個資料行。

若要有最佳效能,我們建議您以 8040 位元組倍數的片段大小來插入或更新 textntextimage 資料。

如果資料庫復原模式是簡單或大量記錄,當插入或附加新資料時,使用 WRITETEXT 的 textntextimage 作業是記錄最少的作業。如需詳細資訊,請參閱<最低限度記錄作業>。

ms186838.note(zh-tw,SQL.90).gif附註:
當更新現有的值時,不會使用最少的記錄。

若要使 WRITETEXT 正確運作,資料行必須已包含有效的文字指標。

如果資料表沒有資料列文字,當利用 INSERT 在 text 資料行中加入明確或隱含的 Null 值,且無法取得這些 Null 的文字指標時,SQL Server 並不會初始化 text 資料行,因而能夠節省空間。若要將 text 資料行初始化成 NULL,請使用 UPDATE 陳述式。如果資料表有資料列文字,您就不需要初始化 Null 的文字資料行,一律能夠取得文字指標。

ODBC SQLPutData 函數的速度比較快,所用的動態記憶體比 WRITETEXT 少。這個函數可以插入最多 2 GB 的 textntextimage 資料。

在 SQL Server 中,指向 textntextimage 的資料列文字指標有可能存在而無效。如需有關 text in row 選項的資訊,請參閱<sp_tableoption (Transact-SQL)>。如需有關驗證文字指標的資訊,請參閱<sp_invalidate_textptr (Transact-SQL)>。

權限

需要指定資料表的 UPDATE 權限。當傳送 UPDATE 權限時,可以傳送權限。

範例

下列範例將文字指標放在本機變數 @ptrval 中,再利用 WRITETEXT,將新的文字字串放入 @ptrval 所指向的資料列中。

ms186838.note(zh-tw,SQL.90).gif附註:
若要執行這個範例,您必須安裝 pubs 範例資料庫。如需有關如何安裝 pubs 範例資料庫的資訊,請參閱<下載 Northwind 和 pubs 範例資料庫>。
USE pubs;
GO
ALTER DATABASE pubs SET RECOVERY SIMPLE;
GO
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(pr_info) 
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id 
   AND p.pub_name = 'New Moon Books'
WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) has just released another top ten publication. With the latest publication this makes NMB the hottest new publisher of the year!'
GO
ALTER DATABASE pubs SET RECOVERY SIMPLE;
GO

請參閱

參考

資料類型 (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
DELETE (Transact-SQL)
SELECT (Transact-SQL)
SET (Transact-SQL)
UPDATETEXT (Transact-SQL)

其他資源

使用大數值資料類型

說明及資訊

取得 SQL Server 2005 協助