游标与临时表、表变量


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58

取出大量数据进行操作时,游标慢一些,可用临时表与表变量
临时表:
CREATE TABLE dbo.#News
  (
  News_id int NOT NULL,
  NewsTitle varchar(100),
  NewsContent varchar(2000),
  NewsDateTime datetime
  )
  INSERT INTO dbo.#News (News_id, NewsTitle, NewsContent, NewsDateTime)
  VALUES (1,’BlueGreen’, ‘Austen’, 200801, GETDATE())
  SELECT News_id, NewsTitle, NewsContent, NewsDateTime FROM dbo.#News

  DROP TABLE dbo.[#News]? –操作完之后删掉

表变量:DECLARE @News table
  (
  News_id int NOT NULL,
  NewsTitle varchar(100),
  NewsContent varchar(2000),
  NewsDateTime datetime
  )
  INSERT INTO @News (News_id, NewsTitle, NewsContent, NewsDateTime)
  VALUES (1,’BlueGreen’, ‘Austen’, 200801, GETDATE())
  SELECT News_id, NewsTitle, NewsContent, NewsDateTime FROM @News

临时表分为本地和全局两种,本地临时表的名称都是以“#”为前缀,只有在本地当前的用户连接中才是可见的,当用户从实例断开连接时被删除。全局临时表的名称都是以“##”为前缀
 表变量创建的语法类似于临时表,区别就在于创建的时候,必须要为之命名。表变量是变量的一种,表变量也分为本地及全局的两种,本地表变量的名称都是以“@”为前缀,只有在本地当前的用户连接中才可以访问。全局的表变量的名称都是以“@@”为前缀,一般都是系统的全局变量
临时表存放在磁盘上,而表变量存于内存中,就是一变量。