sql不是对象
of course!
2. sql 是不是一种面向对象记录的操作方式
SQL语言采用面向集合的操作方式,其操作对象、查找结果可以是元组的集合。
3. 在sql server中 不是对象的是 A用户 B数据 C表 D数据类型
D是错的,
应该是B
4. Sql Server 存储过程报错 为不是函数的对象 'account' 提供了参数。如果这些参数要作为表提示,则需要使用
declare curs cursor
for
select b.b_id,b.b_name,b.b_address,b.b_city,sum(a.a_balance),count(a.a_id)
from bank b left join account a on b.b_id=a.a_bank_num
where b.b_id = @ids
group by b.b_id,b.b_name,b.b_address,b.b_city
open curs
fetch next from curs into @bid,@bname,@baddr,@bcity,@sums,@counts
while(@@fetch_status=0)
begin
print '编号 '+'名称 '+'地址 '+'城市 '+'总金额 '+'账户数 '
print @bid+@bname+@baddr+@bcity+convert(varchar(20),@sums)+' '+convert(varchar(20),@counts)
fetch next from @curs into @bid,@bname,@baddr,@bcity,@sums,@counts
if(@sums<1000000)
begin
set @SQL='insert into account() values(''1010'',''天天'',''60000'',''2012-11-23'','''+@ids+''')'
print('该银行总金额少于一百万')
print(@SQL+'已执行')
exec(@SQL)
end
if(@counts=0)
-- else if(@counts=0)
begin
print('该银行不存在用户')
set @SQL='delete from bank with b_id='''+@ids+''''
print(@SQL+'已执行')
print('该银行已被删除')
exec(@SQL)
end
CLOSE curs
DEALLOCATE curs
end
5. sql创建表的时候找不到对象的数据
sql创建表的时候找不到对象的数据是网络问题。根据查询相关资料信息,sql创建表的时候找不到对象的数据是网络出现延迟反应导致数据不能及时更新出现程序响应不及时的问题,需要检查网络设备的连接问题。
6. SQL新建查询时,表名没错,为什么说对象名无效
1.以sql2012为例,我们在sql查询时,有时会遇到这种情况:查询失败,提示“对象名 xxx 无效”。
7. SQL server是不是对象关系数据库
SQL Server是对象关系数据库这句话描述不准确,应该是SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS)。
历史:
SQL Server最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。Microsoft SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,目前最新版本是2012年3月份推出的SQL SERVER 2012。
特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
8. SQL数据库时提示对象名'XXX' 无效,什么原因
原因一:新建的数据库,没有将初始数据导入到新库里。
解决方法:
请登录到我司数据库控制面板->备份还原系统,然后使用数据库还原的功能,在那里直接将您的数据库备份上传还原,如果操作过程没有出现错误,一般您的数据库就已经还原了,此方法适合还原一些初始数据不是很大的数据库(30M以内),如果您的数据库初始数据很大,在线上传还原的成功率比较低,这时请使用数据库导入导出的方法进行还原,详细的导入导出方法请查看我司的另一篇帮助文档数据库导入导出方法详解
原因二:数据库做过迁移,新数据库的对象所有者名称不同造成
数据库做了迁移后,一般会进行导入/还原数据的过程,在这个过程中,要注意新数据库的完整对象名与原来是一致的。
比如,您的旧数据库名叫 db1 , 旧数据库用户是 dbuser1, 现在要迁移到新的数据库上,新数据库名是 db2, 新数据库用户是 dbuser2。
sqlserver对象的完整对象名是数据库名.用户名.表名这样的,假设你的旧数据库上有个表名叫 table1,那它的完整对象名就是 db1.dbuser1.table1,
当你用新的数据库名登录导入旧数据时,新的表名可能变成了 db2.dbuser2.table1,这样的话,您的程序查询数据时可能会出现对象名无效的错误。
解决方法:要解决这个问题,一般需要做两步操作:
1. 请分别使用sp_changeobjectowner '这里改为数据库完整对象名','dbo'这个命令将所有的用户表,用户视图,用户存储过程等的所有者全部改为系统内建的特殊用户dbo
以下是一个可以简化执行上面操作的存储过程,以下存储过程运行后可能还会有部分的对象改不到所有者,这时请手动执行上面的命令将未能改所有者的对象重新尝试一下。
declare @CrsrVar cursor
declare @pname varchar(40) --对象名
declare @oldowner varchar(40) --原对象所有者
declare @objfullname varchar(80) --原对象全名
set @oldowner = '这里改为数据表/视图/存储过程等的旧所有者名称'
set @CrsrVar = Cursor For select name from sysobjects where xtype='U' --xtype=U 表示用户表
open @CrsrVar
fetch next from @CrsrVar into @pname
while(@@fetch_status=0)
begin
set @objfullname = @oldowner + '.' + @pname
exec sp_changeobjectowner @objname=@objfullname,@newowner='dbo' --dbo为所有者名
fetch next from @CrsrVar into @pname
end
close @CrsrVar
deallocate @CrsrVar
2. 可能您的编写网站程序的时候没有注意通用性,在查询数据时采用了类似select * from dbuser1.table1这样的SQL语句,一般来说,这不是一个好的习惯,在这种情况下,如果数据库迁移过的话,经常会导致对象名无效的错误,为了避免这种不必要的问题,建议您在程序中查询数据时,直接用select * from table1这样的方式,就是在程序中不在用对象的完整名称,而是单使用表名或视图名,这样就可以避免不必要的“对象名无效”的问题。
9. 以下哪个不属于sql server 2005的对象 a.表 b.记录 c.触发器 d.程序流程
B别听1楼乱说存储过程是保存起来的一些语句,在需要的时候得调用触发器可以是在数据修改,删除,或新增的时候自动触发执行的,看名字都知道了
10. sql数据库为什么会提示找不到对象的错误
有些用户在转移mssql数据库里,对于自定义模型表、自定义表单表,在访问这些表时会提示对象名无效。类似:
错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E37)
对象名 'KS_Form_1111' 无效。
/admin/KS.Form.asp, 第 110 行
这个原因是由于数据库表所有者引起的。比如原来在A空间购买的数据库分配的数据库访问用户名是a用户,而转移后在B空间购买的数据库分配的数据库访问用户名为b用户 。导致在A空间时创建的表的所有者为A 用户,所以会出现这种情况。
我们要以在B空间的数据库查询分析器里运行以下sql语句解决
更新表所有者
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '
以上表示所表的所有者更改为dbo,你也可以将dbo改成你在空间B里分配的用户名