当前位置:首页 » 编程语言 » sql查询另一张表大小
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询另一张表大小

发布时间: 2022-09-30 22:58:23

‘壹’ 有没有语句能查询sql数据库中每一个表的大小

--得到数据库中所有表的空间/记录情况
exec sp_MSForEachTable
@precommand=N'
create table ##(
id int identity,
表名 sysname,
字段数 int,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''

update ## set 字段数=(select count(*) from syscolumns where id=object_id(''?''))
where id=scope_identity()', @postcommand=N'select * from ## order by id drop table ##'

‘贰’ 用一条sql语句查询一个表两字段值的大小

问下楼主你是要查出来还是要比较啊。
select 字段1,字段2 from table
上面是比较简单的查法,下面的要复杂一点。不过还好拉。

declare @one int;
select @one=upid from users where id=10;
declare @two int;
select @two=urid from users where id=10
if ( @one>@two )
begin
print '字段一比字段二大'
end
else
begin
print '字段二比字段一大'
end

希望对你有帮助。

‘叁’ oracle中如何查看一个表所占空间的大小,用一条sql

每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息,例:
SELECT segment_name AS TABLENAME,BYTES B,BYTES/1024 KB,BYTES/1024/1024 MB FROM user_segments WHERE segment_name='EP_SC106'

‘肆’ sql表中相同数据查询出来后如何比较某一列的大小,然后取这一列中较大的保存到另外一张表

个人觉得,创建一个视图view比较好,要不这样太乱了,我看了好久才稍微知道点你的思路。。。
在view中,用group by和order by 定义出序列,就出现你想要的排列顺序啦~然后就可以拿出你想要的一行数据了
language songname singer exist col001 col002
02 祝酒歌 刀郎 1 dvd403822.mpg 178944004
02 祝酒歌 刀郎 1 dvd514336.mpg 45788780
就说这个,group by language ,songname,singer,exist,col001,col002
当前面的列都一样的时候,都会再一个段中了,再加上order by 的约束最后一列也会按照顺序排列出来了

你试试吧~

‘伍’ sqlserver中如何查询某几个表目前的空间大小

创建存储过程:

CREATE PROCEDURE [dbo].[sys_viewTableSpace]
AS

BEGIN

SET NOCOUNT ON;

CREATE TABLE [dbo].#tableinfo(
表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
记录数 [int] NULL,
预留空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
使用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
索引占用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
未用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
)

insert into #tableinfo(表名, 记录数, 预留空间, 使用空间, 索引占用空间, 未用空间)
exec sp_MSforeachtable "exec sp_spaceused '?'"

select * from #tableinfo
order by 记录数 desc

drop table #tableinfo

END

使用的时候直接 :exec sys_viewtablespace

‘陆’ sql如何比较某一列的大小,然后取这一列中较大的保存到另外一张表

update表BsetTBMJ=b.TBMJ
from表Bainnerjoin
(selectJBNTTBBH,MAX(TBMJ)ASTBMJfrom表AgroupbyJBNTTBBH)b
ona.JBNTTBBH=b.JBNTTBBH

‘柒’ 如何使用SQL语句查询数据库及表的空间容量

--1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
--2、查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

3.查看所有表空间使用情况

select
b.file_id 文件ID号,
b.tablespace_name 表空间名,
b.bytes/1024/1024||'M'字节数,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用,
sum(nvl(a.bytes,0))/1024/1024||'M' 剩余空间,
round(100 - sum(nvl(a.bytes,0))/(b.bytes)*100,2)|| '%' 占用百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id;

总有一款适合你!

‘捌’ 如何用SQL语句比较两个表 特定的值的大小

SELECT CASE WHEN A.吨数>B.吨数总和 THEN A.吨数 ELSE B.吨数总和 END
FROM A,B
WHERE A.ID=B.ID

‘玖’ 数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展

sql语句

1.查询表空间大小

select tablespace_name , sum(bytes/1024/1024) sizeM from dba_data_files group by tablespace_name ;

2.设置数据文件为自动拓展

alter database datafile n autoextend on ;


不知道你说的两个东西有什么关联性。


下面是设置全部数据文件为自动拓展的plsql匿名块:

begin
forrecin(selectfile_id,autoextensiblefromdba_data_fileswhereautoextensible='NO')loop
executeimmediate'alterdatabasedatafile'||rec.file_id||'autoextendon';
endloop;
end;