SQLServer获取临时表列名

if(OBJECT_ID(‘tempdb.dbo.#tempTB‘) is not null)
begin
drop table #tempTB;
end

create table #tempTB(
ID int NULL,
Name nvarchar(50) NULL,
Pwd varchar(50) NULL
)

--查询所有列名
select name from tempdb.sys.columns where object_id = OBJECT_ID(‘tempdb.dbo.#tempTB‘)
--查询定义的列长度(以字节为单位)
select COL_LENGTH(‘tempdb.dbo.#tempTB‘,‘ID‘)
--判断表中是否包含列
if COL_LENGTH(‘tempdb.dbo.#tempTB‘,‘ID‘) is null
begin
print ‘不存在列‘
end
else
begin
print ‘存在‘
end

drop table #tempTB;

原文地址:https://www.cnblogs.com/huyueping/p/10342178.html

时间: 2024-10-17 10:48:14

SQLServer获取临时表列名的相关文章

SQLServer获取临时表所有列名或是否存在指定列名的方法

获取临时表中所有列名 select name from tempdb.dbo.syscolumns where id=object_id( '#TempTB') 判断临时表中是否存在指定列名 if col_length('tempdb.dbo.#TempTB','columnName') is not null print '存在' else print '不存在' SQLServer获取临时表所有列名或是否存在指定列名的方法

oracle&&Sqlserver获取表名列名主键及数据类型

SQlserver获得列名,列类型,列类型长度,scale,prec等数据类型(syscolumns,systypes,sysobjects均为视图) select a.name as colname, b.name as typename,a.length as length,a.scale as scale,a.prec as prec from syscolumns a,systypes b ,sysobjects c where a.xusertype=b.xusertype and a

SqlServer中临时表的使用

http://www.cnblogs.com/chongzi/archive/2011/01/19/1939106.html --存储过程中将多表连接结果写入到临时表中,然后通过游标查询临时表内容 --判断临时表是否存在 IF OBJECT_ID('tempdb..#TmpTable') IS NOT NULL DROP TABLE #TmpTable SELECT a.[a1],a.[a1],b.[b1],b.[b2] INTO #TmpTable FROM A a LEFT JOIN B b

sqlserver获取当前id的前一条数据和后一条数据

一.条件字段为数值的情况 select * from tb where [email protected]; --当前记录   select top 1 * from tb where id>@id order by id; --下一条记录   select top 1 * from tb where id<@id order by id desc --上一条记录 二.以排序的思路出发的一种方案 ;WITH TUsers AS (     SELECT *, ROW_NUMBER() OVER

SqlServer获取数据库最近全量备份时间

应用场景,SqlServer的增量备份是在全量备份的基础上进行的,如果需要恢复的话,也需要先恢复全量备份,再恢复对应的增量备份文件. 例如,我们全量备份A数据库产生1.bak文件,此时再进行增量备份,将产生2.diff文件. 如果在恢复的时候,先恢复1.bak,再恢复2.diff,可以正常的恢复到原数据. 但是如果在这个过程中,又进行了另一次全量备份,那么,此时再想通过1.bak + 2.diff来进行恢复就会失败. 因为增量备份是针对最新的全量备份进行增量的,因此,我们需要判断生成1.bak全

sqlserver获取其中所有表的名称

1,项目原数据库是sqlserver,现在需要把原数据库导入到oracle中.目前希望用java代码获取所有的表名称.表中是否有数据,表数据详细信息. 2.打开sqlserver,用命令可以得到所有的表select NAME from  SysObjects where XType='U' order by Name 3.可以在java代码中连接sqlserver数据库,使用该命令获取所有的表名称. 4.不同的sqlserver版本需要的jar包也不相同 select @@version 可以得

SQLServer中临时表与表变量的区别分析

在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表 临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQL Server的系统日志,虽它们在Tempdb中体现,是分配在内存中的,它们也支持物理的磁盘,但用户在指定的磁盘里看不到文件. 临时表分为本地

SQLServer获取最后插入的ID值SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较

IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值.IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表. @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值. SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值 也许大家对SQL Server中的 @@IDENTITY 都不陌生,都知道它是获取数据表中最后一条插入数据的IDENTITY值.比如,表 A 中有个 ID 为自增1的字段,假设此时 I

sqlserver 获取年月日 时分秒

select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName(day,GetDate()) as '日',DateName(dw,GetDate()) as '星期',DateName(week,GetDate()) as '周数',DateName(hour,GetDate()) as '时',DateName(minute,GetDate()) as '