常用的存储过程

1. 存储过程中delimiter 的作用

delimiter //

该条语句是定义SQL解释器的结束符,不定义的话默认为;(分号)

2、select into 语句

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中,常用于创建表的备份复件或者用于对记录进行存档。

--制作 "Persons" 表的备份复件:
SELECT * INTO Persons_backup FROM Persons
--IN 子句可用于向另一个数据库中拷贝表
SELECT * INTO Persons IN 'Backup.mdb' FROM Persons
--如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域
SELECT LastName,FirstName INTO Persons_backup FROM Persons
--从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表
SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City='Beijing'
--从一个以上的表中选取数据也是可以做到的。创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息
SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P

临时表:它的操作和我们平时操控表的操作基本一样, 比如最简单增、删、改、查等等。但是,需要注意的是临时表的创建是有范围限制的。

会话临时表:

--会话结束的时候,那么临时表就结束了。
create table #TestTb
(
    Id  int identity(1,1) primary key not null,
    Name nvarchar(32) null
)
--常用的临时表的用法
select * into #Tb from t8
--临时表用完之后一定要: 释放掉临时表
drop table #TestTb

全局临时表:

--创建全局临时表,所有的用户的会话都可以访问到。
create table #Pos 
(
    Id  int identity(1,1) primary key not null,
    Name nvarchar(32) null
)
--全局临时表会在所有用户都断开会话后,会自动释放。
select * into ##Pos from Position--尽量不要全局的。
--释放全局临时表
drop table  ##Pos

 

 

你可能感兴趣的:(数据库)