国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

象使用數(shù)組一樣使用一個數(shù)據(jù)表變量

2024-07-21 02:38:52
字體:
供稿:網(wǎng)友

  雖然你可以象數(shù)組一樣使用一個數(shù)據(jù)表變量,對于它能夠使用的數(shù)據(jù)類型是有限制的。例如,你不能在一個數(shù)據(jù)表變量中包含另一個數(shù)據(jù)表變量。
  
  你可以象申明一個用戶定義的數(shù)據(jù)表一樣申明一個數(shù)據(jù)表變量;但是,在你申明了它以后,你就不能再改變數(shù)據(jù)表的定義了。另外,你必須在申明的時候定義數(shù)據(jù)表變量的所有屬性。
  
  并不是所有的INSERT命令都能夠在數(shù)據(jù)表變量上操作。例如,你不能在向數(shù)據(jù)表變量插入值的時候使用EXEC命令。執(zhí)行一個存儲過程或者插入值到數(shù)據(jù)表變量的字符串命令會返回一個錯誤。同樣,不是所有的SELECT 命令都能夠在數(shù)據(jù)表變量上操作而且你不能使用SELECT INTO 命令來插入數(shù)據(jù)到一個數(shù)據(jù)表變量中去。
  
  你不能在數(shù)據(jù)表變量上使用一些系統(tǒng)過程,比方sp_depends。數(shù)據(jù)表變量的對象名在運行時生成,并且是一個隨機的名字,它被保存在tempdb數(shù)據(jù)庫里。因為大多數(shù)的系統(tǒng)功能和系統(tǒng)過程需要對象名或者標(biāo)識數(shù)值,所以要在一個數(shù)據(jù)表變量上執(zhí)行系統(tǒng)功能或者過程是困難的。需要復(fù)雜的邏輯來獲得對象的名字以及/或者標(biāo)識數(shù)值來運行系統(tǒng)功能和過程。
  
  一個數(shù)據(jù)表變量的作用域是批處理過程,存儲過程或者函數(shù)執(zhí)行的過程。當(dāng)批處理過程中GO命令被觸發(fā)了,數(shù)據(jù)表變量也就出離了它的作用域。
  
  下面是在一個存儲過程中使用一個數(shù)據(jù)表變量的簡單腳本。
  
  CREATE PROCEDURE TestName
  
  AS
  
  DECLARE @TableId TABLE
  
  (table_id INT IDENTITY NOT NULL
  
  primary key nonclustered,
  
  id INT NOT NULL,
  
  name sysname NOT NULL
  
  DEFAULT 'UNKNOWN',
  
  type char(2) NOT NULL
  
  DEFAULT '9',
  
  crdate datetime NOT NULL
  
  DEFAULT current_timestamp)
  
  INSERT @TableId (id, name, type, crdate)
  
  SELECT id, 'test_' + name, type, crdate FROM tempdb..sysobjects
  
  SELECT * FROM @TableID
  
  GO
  
  exec TestName
  
  GO

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高碑店市| 漳州市| 鄂托克旗| 宾川县| 乌兰浩特市| 开化县| 天台县| 武安市| 新平| 灌南县| 桃源县| 清河县| 沁源县| 平遥县| 漳州市| 勐海县| 余庆县| 顺昌县| 昆明市| 南平市| 毕节市| 瑞丽市| 七台河市| 易门县| 崇礼县| 青阳县| 武陟县| 西华县| 彰化县| 克什克腾旗| 龙泉市| 张家川| 许昌县| 卢龙县| 桐柏县| 安达市| 垣曲县| 柯坪县| 广灵县| 枣阳市| 永城市|