当前位置:首页 » 存储配置 » 存储过程面试题

存储过程面试题

发布时间: 2023-02-02 15:18:47

㈠ Java面试题 在存储过程中可以实现的业务,在Java业务层都可以是实现,为什么还要写存储过程。

业务层描述的是业务的流程,如果将业务写入sp,那么复用性会大大降低。同时在业务层实现业务时可以灵活配置事务,而sp比较难做。

㈡ 求:存储过程面试题!

其实存储过程的基本写法我相信你都知道了。
面试这种语言不要紧张,估计多数是要考你对sql效率概念的理解。
普通的sql语句谁都会写的,但是这样的语句往往会造成程序的低效,在压力比较大的服务器上,很有可能造成系统的瘫痪。
注意几点:
1、写语句要用到索引
2、not exists 替换 not in
3、exists 替换 in
4、尽量不要用3个表以上的连接,宁可单个单个取
5、注意书写规则,要写的明白写,错误信息返回那个地方要注意
6、写游标的话,要注意有退出的地方和关闭游标。
7、变量之间要注意转换,隐式的转换往往会耗掉更多的时间。
这些是最基本的了,你需要查阅相关资料进行了解下。

数据库存储过程有哪些,面试题

/*
系统存储过程很多,有些常用,有些不常用
常用:
sp_attach_db附加数据库到一个服务器中
sp_columns返回在当前环境中列的信息
sp_databases列出当前系统中的数据库
sp_configure显示或修改当前服务器的全局配置
sp_depends显示数据库对象的依赖信息
sp_executesql执行动态的T-SQL语句
sp_help报告有关数据库对象的信息
sp_helpdb返回指定数据库或全部数据库的信息
sp_helptext显示规则、默认值、存储过程、触发器、视图等的未加密的文本定义信息
sp_indexes返回指定远程表的索引信息
sp_lock返回有关锁的信息
sp_password增加或者修改指定login的口令
sp_rename更改用户创建的数据库对象名称
sp_renamedb更改数据库名称
sp_spaceused显示数据库的空间使用情况
sp_tables返回在当前环境中可以被查询的对象的列表
sp_who提供当前用户和进程的信息
不常用:
sp_addlinkedserver创建一个允许执行分布式查询的链接服务器
sp_addlinkedsrvlogin在本地服务器和远程服务器之间创建login帐户的映射关系
sp_addlogin创建一个新的login帐户
sp_add_agent_parameter在代理文件中增加一个参数
sp_add_agent_profile为复制代理增加一个代理文件
sp_add_alert创建一个警报
sp_add_category在服务器上,增加一种作业、警报或者操作员的特定分类
sp_add_data_file_recover_suspect_db当数据库复原不能完成时,向文件组增加一个数据文件
sp_add_file_recover_suspect_db对于复原有问题的数据库增加一个文件
sp_add_job增加一个sqlserveragent可以执行的作业
sp_add_jobschele为作业创建调度
sp_add_jobserver把指定的作业增加到指定服务器上
sp_add_jobstep在作业中增加一步或一个操作
sp_add_log_file_recover_suspect_db当数据库复原不能完成时,向文件组增加一个日志文件
sp_add_notification为警报创建一个通知
sp_add_operator为警报或者作业创建一个操作员
sp_add_targetservergroup增加指定的服务器组
sp_add_targetsvrgrp_member在指定的目标服务器组增加一个目标服务器
sp_addalias在数据库中为login帐户增加一个别名
sp_addapprole在数据库中增加一个特殊的应用程序角色
sp_addarticle创建文章,并把该文章添加到出版物中
sp_adddistpublisher创建一个使用本地分布服务器的出版服务器
sp_adddistributiondb在分布服务器上创建一个新的distribution数据库
sp_adddistributor增加一个分布服务器
sp_addextendedproc在系统中增加一个扩展存储过程
sp_addgroup在当前数据库中增加一个组
sp_addmergearticle为一个已有的合并出版物创建一个文章
sp_addmergefilter为了连接另外一个表,创建一个合并过滤器
sp_addmergepublication创建一个新的合并出版物
sp_addmergepullsubscription增加一个拉回类型的订阅物
sp_addmergepullsubscription_agent在订阅服务器上,为合并拉回订阅物创建一个代理
sp_addmergesubscription创建一个推出或者拉回类型的订阅物
sp_addmessage在系统中增加一个新的错误消息
sp_addpublicaton创建一个快照复制或者事务复制出版物
sp_addpublicaton_snapshot创建一个快照代理
sp_addpullsusscription在当前订阅服务器的数据库中增加一个拉回或者匿名订阅物
sp_addpullsusscription_agent在订阅服务器的数据库中增加一个新的代理
sp_addremotelogin在本地服务器上增加一个远程login帐户,允许执行远程存储过程调用
sp_addrole在当前数据库中增加一个角色
sp_addrolemember为当前数据库中的一个角色增加一个安全性帐户
sp_addserver添加一个远程或者本地服务器
sp_addsrvrolemember为固定的服务器角色增加一个成员
sp_addsubscriber增加一个新的订阅服务器
sp_addsubscriber_schele为分布代理和合并代理增加一个调度
sp_addsubscription订阅文章并且设置订阅服务器的状态
sp_addsynctrigers在订阅服务器上创建一个立即修改触发器
sp_addtabletocontents在合并跟踪表中插入一个参考
sp_addtype创建一个用户定义的数据类型
sp_admpdevice增加一个备份设备
sp_adser在当前数据库中为一个新用户增加一个安全性帐户
sp_altermessage修改错误信息的状态
sp_addly_job_to_targets把作业应用到一个或者多个目标服务器
sp_approlepassword在当前数据库中改变应用程序角色的口令
sp_aarticle_validation为指定的文章初始化确认请求
sp_aarticlecolumn指定在文章中使用的列
sp_aarticlefilter创建一个用于水平过滤数据的过滤器
sp_articleview当表被过滤时,为文章创建一个同步化对象
sp_attach_single_file_db在当前服务器中,附加一个只有一个数据文件的数据库
sp_aautostats对于一个指定的索引或统计,自动显示updatestatistics的状态
sp_bindefault把默认值绑定到列或用户定义的数据类型上
sp_bindrule把规则绑定到列或用户定义的数据类型上
sp_bindsession绑定或解除绑定与实例中的其它事务的连接
sp_browsereplcmds在分布数据库中返回一种可读格式的结果集
sp_catalogs返回指定连接服务器中的系统目录列表,在本地服务器中等价于数据库列表
sp_certify_removable确认在可移动介质上用于分布的数据库是否正确配置
sp_change_agent_parameter修改复制代理配置使用的参数
sp_change_agent_profile修改复制代理配置使用的配置参数
sp_change_users_login修改login与当前数据库中用户之间的关系
sp_changearticle改变文章的属性
sp_changedbowner改变当前数据库的所有者
sp_changedistpublisher改变分布出版服务器的属性
sp_changedistributor_password改变分布服务器的口令
sp_changedistributor_property改变分布服务器的属性
sp_changedistribtutiondb改变分布数据库的属性
sp_changegroup改变安全性帐户所属的角色
sp_changemergearticle改变合并文章的属性
sp_changemergefilter改变一些合并过滤器的属性
sp_changemergepublication改变合并出版物的属性
sp_changemergepullsubscription改变合并拉回出版物的属性
sp_changemergesubscription改变合并的推出或者拉回出版物的属性
sp_changeobjectowner改变对象的所有者
sp_changepublication改变出版物的属性
sp_changesubscriber改变用于订阅服务器的选项
sp_changesubscriber_schele改变用于分布式代理和事务代理的订阅服务器的调度
sp_changesubstatus改变订阅服务器的状态
sp_column_privileges返回列的权限信息
sp_column_privileges_ex返回在链接服务器上指定表的列的权限信息
sp_columns_ex返回在链接服务器上列的信息
sp_create_removable创建一个可移动介质数据库
sp_createstats创建单列的统计信息
sp_cursor用于请求定位更新
sp_cursor_list报告当前打开的服务器游标属性
sp_cursorclose关闭和释放游标
sp_cursorfetch从游标中取出数据行
sp_cursoropen定义与游标和游标选项相关联的SQL语句,然后填充游标
sp_cursoroption用于设置各种游标选项
sp_cycle_errorlog关闭错误日志文件重新开始错误记录
sp_datatype_info返回当前环境支持的数据类型信息
sp_dbfixedrolepermission显示每一个固定数据库角色的许可
sp_dboption显示或修改数据库选项
sp_dbremove删除数据库和与该数据库相关的所有文件
sp_defaultdb设置登录帐户的默认数据库
sp_defaultlanguage设置登录帐户的默认语言
sp_delete_alert删除警报
sp_delete_backuphistory删除备份和恢复的历史信息
sp_delete_category删除指定类型的作业、警报和操作员
sp_delete_job删除一个作业
sp_delete_jobschele删除作业的调度
sp_delete_jobserver删除指定的目标服务器
sp_delete_jobstep从作业中删除指定的作业步骤
sp_delete_notfication删除发送给某个操作员的所有通知
sp_delete_operator删除操作员
sp_delete_targetserver从可以使用的目标服务器列表中删除指定的服务器
sp_delete_targetservergroup删除指定的目标服务器组
sp_delete_targetsvrgrp_member从目标服务器组中删除一个目标服务器
sp_deletemergeconflictrow删除冲突表中的记录行
sp_denylogin防止window用户或群组连接到sqlserver
sp_describe_cursor报告服务器游标的属性
sp_describe_cursor_columns报告在服务器游标的结果集中列的属性
sp_describe_cursor_tables报告服务器游标参考的基表信息
sp_detach_db分享服务器中的数据库
sp_drop_agentparameger删除配置文件中的一个或者多个参数
sp_drop_profile删除配置文件
sp_dropalias删除一个帐户的别名
sp_dropapprole删除当前数据库中的应用程序角色
sp_droparticle从出版物中删除一篇文章
sp_dropdevice删除数据库或者备份设备
sp_dropdistpublisher删除出版服务器
sp_dropdistributiondb删除分布数据库
sp_dropdistributor删除分布服务器
sp_dropdropextendedproc删除一个扩展存储过程
sp_dropgroup从当前数据库中删除角色
sp_droplinkedsrvlogin删除一个本地服务器和连接服务器的映射帐户
sp_droplogin删除一个登录帐户
sp_dropmergearticle从合并出版物中删除一篇文章
sp_dropmergefilter删除一个合并过滤器
sp_dropmergepublication删除一个合并出版物和与其相关的快照复制
sp_dropmergepullsubscription删除一个合并拉回订购物
sp_dropmergesubscription删除一个订阅物
sp_dropmessage删除一个消息
sp_droppublication删除出版物和与其相关的文章
sp_droppullsubscription删除当前订阅服务器数据库中的订阅物
sp_dropremotelogin删除一个远程登录帐户
sp_droprole从当前数据库中删除一个角色
sp_droprolemember从当前数据库中的一个角色中删除一个安全性帐户
sp_dropserver删除一个远程或者连接服务器列表中的服务器
sp_dropsrvrolemember从一个固定的服务器角色中删除一个帐户
sp_dropsubscriber删除一个订阅服务器
sp_dropsubscription删除订阅物
sp_droptype删除一种用户定义的数据类型
sp_dropuser从当前数据库中删除一个用户
sp_dropdropwebtask删除以前版本定义的web任务
sp_dsninfo从一个与当前服务器相关的分布服务器返回ODBC和OLEDB数据源的信息
sp_mpparamcmd返回存储在分布数据库中的参数化命令的详细信息
sp_enumcodepages返回一个字符集和代码页的列表
sp_enumcustomresovers返回所有可用的定制解决方案表表
sp_enumdsn返回所有可用的odbc和oledb数据源列表
sp_enumfullsubscribers返回订阅服务器的列表
sp_expired_subscription_cleanup周期性地检查订阅物的状态是否失效
sp_fkeys返回当前环境的外键信息
sp_foreignkeys返回参照连接服务器的表的主键的外键
sp_fulltext_catalog创建和删除全文本目录
sp_fulltext_column指定某一个列是否参加全文本索引
sp_fulltext_database从当前数据库中初始化全文本索引
sp_fulltext_service改变MicrosoftSearchService属性
sp_fulltext_table标记用于全文本索引的表
sp_generatefilters在外键表上创建一个过滤器
sp_get_distributor确定一个分布服务器是否安装在某个服务器上
sp_getbindtoken创建一个绑定的连接文本
sp_getmergedeletype返回合并删除的类型
sp_grant_publication_access在出版物的访问列表中增加一个用户
sp_grantdbaccess在当前数据库中增加一个安全性帐户
sp_grantlogin允许Windows用户或群组连接到SQLServer
sp_help_agent_default检索作为参数传送的代理类型的默认配置的标识号
sp_help_agent_parameter返回代理配置的所有参数
sp_help_agent_profile返回指定代理的配置
sp_help_alert报告有关警报的信息
sp_help_category提供有关作业、警报、操作员的指定种类的信息
sp_help_downloadlist列出有关作业的信息
sp_help_fulltext_catalogs返回有关全文本索引表的信息
sp_help_fulltext_columns返回标记全文本索引的列信息
sp_help_fulltext_columns_cursor使用游标检索标记为全文本的索引列
sp_help_fulltext_tables返回标记为全文本索引的表
sp_help_fulltext_tables_cursor使用游标返回标记为全文本索引的表
sp_help_job返回有关作业的信息
sp_help_jobhistory提供有关作业的历史信息
sp_help_jobschele返回作业的调度信息
sp_help_jobserver返回给定作业的服务器信息
sp_help_jobstep返回作业的步骤信息
sp_help_operator返回有关操作员的信息
sp_help_publication_access返回可以访问指定出版物的帐户列表
sp_help_targetserver列出全部目标服务器
sp_help_targetservergroup列出指定服务器组中的全部目标服务器
sp_helparticle显示有关文章的信息
sp_helpconstraint返回有关约束的类型、名称等信息
sp_helpdbfixedrole返回固定的服务器角色的列表
sp_helpdevice返回有关数据库文件的信息
sp_helpdistpublisher返回充当分布服务器的出版服务器的属性
sp_helpdistributiondb返回分布数据库的属性信息
sp_helpdistributor列出分布服务器、分布数据库、工作目录等信息
sp_helpextendproc显示当前定义的扩展存储过程信息
sp_helpfile返回与当前数据库相关的物理文件信息
sp_helpfilegroup返回与当前数据库相关的文件组信息
sp_helpgroup返回当前数据库中的角色信息
sp_helpindex返回有关表的索引信息
sp_helplanguage返回有关语言的信息
sp_helplinkedsrvlogin返回链接服务器中映射的帐户信息
sp_helplogins返回有关login和与其相关的数据库用户信息
sp_helpmergearticle返回有关合并文章的信息
sp_helpmergearticleconflicts返回有关冲突的出版物中的文章信息
sp_helpmergeconflictrows返回在指定冲突表中的行
sp_helpmergefilter返回有关合并过滤器的信息
sp_helpmergepublication返回有关合并出版物的信息
sp_helpmergepullsubscription返回有关拉回订阅物的信息
sp_helpmergesubscription返回有关推出订阅物的信息
sp_help_notification报告对于给定操作员的警报信息
sp_helppublication返回有关出版物的信息
sp_helprole返回当前数据库中的角色信息
sp_helprolemember返回当前数据库中角色成员的信息
sp_helprotect返回有关用户许可的信息
sp_helpserver显示特定远程或者复制服务器的信息
sp_helpsort显示系统的排列顺序和字符集的信息
sp_helpsrvrole显示系统中的固定服务器角色列表
sp_helpsrvrolemember显示系统中的固定服务器角色成员的信息
sp_helpsubscrberinfo显示有关订阅服务器的信息
sp_helpsubscription显示有特定出版物等有关的订阅物信息
sp_helpsubscription_properties检索安全性信息
sp_helptrigger显示触发器的类型
sp_helpuser显示当前数据库中的用户、WindowsNT用户和组、角色等信息
sp_indexoption为用户定义的索引设置选项
sp_link_publication设置立即修改订阅服务器的同步化触发器使用的配置和安全性信息
sp_linkedservers返回在本地服务器上定义的链接服务器的列表
sp_makewebtask创建一个执行html文档的任务
sp_manage_jobs_by_login删除或者重新指定属于login的作业
sp_mergemmyupdate制作用于合并复制的修改备份
sp_mergesubscription_cleanup删除元数据
sp_monitor显示系统的统计信息
sp_msx_defect从多个服务器操作中删除当前服务器
sp_msx_enlist增加当前服务器到可用的目标服务器列表中
sp_pkeys返回某个表的主键信息
sp_post_msx_operation插入一些目标服务器可以执行的信息
sp_primarykeys返回主键列的信息
sp_processmail使用扩展存储过程修改邮件信息
sp_procoption设置或者显示过程选项
sp_publication_validation初始化文章校验请求
sp_purge_jobhistory删除作业的历史记录
sp_recompile使存储过程和触发器在下一次运行时重新编译
sp_refreshsubscriptions在拉回出版物中增加订阅物到文章中
sp_refreshview刷新指定视图的元数据
sp_reinitmergepullsubscription标记一个合并拉回订阅
sp_reiniteergesubscription标记一个合并订阅
sp_reinitpullsubscription标记一个事务订阅或者匿名订阅
sp_reinitsubscription重新初始化订阅
sp_remoteoption显示或者修改远程登录帐户的选项
sp_remove_job_from_targets从给定的目标服务器中删除指定的作业
sp_removedbreplication从数据库中删除所有的复制对象
sp_replcounters返回复制的统计信息
sp_repldone修改服务器做的分布事务的统计信息
sp_replflush处理文章的高速缓冲存储区
sp_replication_agent_checkup检查每一个分布数据库
sp_replicationdboption在当前数据库中设置复制数据库的选项
sp_replsetoriginator用于在事务复制中检测循环登录
sp_replshowcmds返回标记复制的事务命令
sp_repltrans返回在出版数据库事务日志中的所有事务的结果集
sp_resetstatus重新设置异常数据库的形态
sp_resync_targetserver重新同步所有的多服务器作业
sp_revoke_publication_access从出版数据库的访问列表中删除login帐户
sp_revokedbaccess从当前数据库中删除安全性帐户
sp_revokelogin删除系统的login帐户
sp_script_synctran_commands生成一个可以用于立即修改订阅物的脚本
*/

㈣ 面试题不会做(写个存储过程)

给你写个简单的删除的存储过程
Create proc Pro_delete
(@ID int)
as
delete from 表名 where ID=@ID
go

就这样啊

㈤ 数据库常见笔试面试题

数据库常见笔试面试题

数据库常见笔试面试题有哪些?数据库常见笔试面试会考什么?下面是数据库常见面试题总结,为大家提供参考。

1、SQL的表连接方式有哪些?

SQL中连接按结果集分为:内连接,外连接,交叉连接

内连接:inner join on,两表都满足的组合。内连接分为等值连接,不等连接,自然连接。

等值连接:两表中相同的列都会出现在结果集中。

自然连接:两表中具体相同列表的列会合并为同一列出现在结果集中。

外连接:分为左(外)连接,右(外)连接,全连接

左(外)连接:A left (outer) join B,以A表为基础,A表的全部数据,B表有的组合,没有的为null。

右(外)连接:A right(outer) join B,以B表为基础,B表的全部数据,A表有的组合,没有的位null。

全连接:A full (outer) join 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有,A表没有的显示为null。

交叉连接:cross join,就是笛卡尔乘积。

2、三范式

1NF:表中的字段都是单一属性,不再可分。

2NF:在1NF的基础上,表中所有的非主属性都必须完全依赖于任意一组候选键,不能仅依赖于候选键中的某个属性。

3NF:在2NF的基础上,表中所有的属性都不依赖其他非主属性。

简单的说就是:1NF表示每个属性不可分割,2NF表示非主属性不存在对主键的部分依赖,3NF表示不存在非主属性对主键的依赖传递。

3、表的操作

表的创建:create table 表名 (列名1 类型 约束,列2 类型 约束…)

表的删除: 表名

表的更改(结构的更改,不是记录的更新):alter table 表名 add|drop 列名|约束名

插入记录: into 表名…values…

更新记录:表名 set 列名=值 where 条件

删除记录: from 表名 where 条件

4、数据的完整性

数据完整性指的是存储在数据库中的数据的一致性和准确性。

完整性分类:

(1)实体完整性:主键值必须唯一且非空。(主键约束)

(2) 引用完整性(也叫参照完整性):外键要么为空,要么引用主表中存在的记录。(外键约束)。

(3)用户自定义完整性:针对某一具体关系数据库中的约束条件。

5、SQL的查询优化

(1)从表连接的角度优化:尽量使用内连接,因为内连接是两表都满足的行的组合,而外连接是以其中一个表的全部为基准。

(2)尽量使用存储过程代替临时写SQL语句:因为存储过程是预先编译好的SQL语句的集合,这样可以减少编译时间。

(3)从索引的角度优化:对那些常用的查询字段简历索引,这样查询时值进行索引扫描,不读取数据块。

(4)还有一些常用的select优化技巧:

(5)A.只查询那些需要访问的字段,来代替select*

B、将过滤记录越多的where语句向前移:在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应该前移。

6、索引的作用,聚集索引与非聚集索引的区别

索引是一个数据库对象,使用索引,可以是数据库程序无须对整个数据进行扫描,就可以在其中找到目标数据,从而提高查找效率。索引的底层采用的是B树。

聚集索引:根据记录的key再表中排序数据行。

非聚集索引:独立于记录的结构,非聚集所以包含的`key,且每个键值项都有指向该简直的数据行的指针。

聚集索引与非聚集索引的区别:

(1)聚集索引的物理存储按索引排序,非聚集所以的物理存储不按索引排序。

(2) 聚集索引插入,更新数据的速度比非聚集索引慢,单查询速度更快。

(3) 聚集索引的叶级结点保存的是时间的数据项,而非聚集结点的叶级结点保存的是指向数据项的指针。

(4)一个表只能有一个聚集索引(因为只有一种排序方式),但可以有多个非聚集索引。

7、存储过程与函数的区别

(1)函数有返回值,存储过程没有返回值。

(2) 因为存储过程没有返回值,所以不能将存储过程的执行结果赋值给变量;函数有返回值类型,调用函数时,可以将函数的执行结果赋值给变量。也就是说,函数可以在select语句中使用,而存储过程则不能。


;
热点内容
虚拟服务器如何开店 发布:2025-07-16 11:32:28 浏览:298
C语言考过 发布:2025-07-16 11:32:17 浏览:88
linux桌面系统排名 发布:2025-07-16 11:29:14 浏览:776
编译桌面布局 发布:2025-07-16 11:22:48 浏览:857
mc怎么免费开服务器网易版 发布:2025-07-16 11:22:36 浏览:272
php字符串数组替换 发布:2025-07-16 11:00:08 浏览:470
java词云 发布:2025-07-16 10:56:22 浏览:633
手机h5上传图片 发布:2025-07-16 10:49:49 浏览:877
编程屋网址 发布:2025-07-16 10:49:15 浏览:89
宝沃7配置怎么样 发布:2025-07-16 10:42:00 浏览:687