首先说表的定义--第一种
create table t(Id int,UserName varchar(20))
--第二种
create table #t(Id int,UserName varchar(20))
--第三种
declare @t table(Id int,UserName varchar(20))可能还有其他种,我知道的不多。问题一:
谁能告诉我为什么只有第一种可以在数据库的资源管理器中看到,其他的都看不到?
问题二:
#号是不是在sqlserver里有特殊的意义?然后是插入数据--第一种
insert into [tablename] values(1,'aaa')
--第二种
insert [tablename] select 1,'aaa'问题:不明白为什么用select也可以插入数据
create table t(Id int,UserName varchar(20))
--第二种
create table #t(Id int,UserName varchar(20))
--第三种
declare @t table(Id int,UserName varchar(20))可能还有其他种,我知道的不多。问题一:
谁能告诉我为什么只有第一种可以在数据库的资源管理器中看到,其他的都看不到?
问题二:
#号是不是在sqlserver里有特殊的意义?然后是插入数据--第一种
insert into [tablename] values(1,'aaa')
--第二种
insert [tablename] select 1,'aaa'问题:不明白为什么用select也可以插入数据
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1 <>1
法二:select top 0 * into b from a 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from a; 3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
--第一种
create table t(Id int,UserName varchar(20)) --真正在数据库中创建一张表
--第二种
create table #t(Id int,UserName varchar(20))--在tempdb系统数据库中创建临时表
--第三种
declare @t table(Id int,UserName varchar(20))--指示一个表变量
if object_id('[tb]') is not null drop table [tb]
create table [tb]([tid] int,[pid] int)
insert [tb]
select 1,1 union all
select 1,5 union all
select 2,3 union all
select 3,6 union all
select 2,0
insert into [tablename] values(1,'aaa')
--第二种
insert [tablename] select 1,'aaa'问题:不明白为什么用select也可以插入数据--这个其实就是语法问题,知道了就知道了,不知道就不会用