⑴ 如何搭建企业网络存储服务器
1.选择机架设备
小型企业通过在桌面或架子上堆叠服务器硬件和网络设备来开始运营并不罕见。这样做的成本的确比较低廉,但会存在未来隐患,随着公司业务的发展,这些设备可能会成为一个巨大的混乱。这些设备暴露在外会增加物理篡改的风险,也会埋下一些定时炸弹,比如说不小心造成的咖啡溢出,环境灰尘以及员工不小心被暴露的电线绊倒所存在的危险等等。
但是,使用机架式设备能避免这类事故。为什么这样说呢?因为这些机架经过专业设计,可以轻松地容纳这种类型的硬件。虽然,与非机架安装等价物相比,它们似乎非常昂贵,但从长远的角度来说,性价比高,你可以使用它们轻松管理你的设备以及其它好处会远远超过其成本。
2.要了解服务器机架的基本特征
在购买或安装服务器机架之前,你需要学习并了解服务器机架的基本特征。服务器机架通常以机架单位来衡量,通常表示为“U”或“RU”。机架单元的高度相当于1.75英寸(44.5毫米),兼容设备的测量单位为“U”的倍数。通常,服务器的范围从1U到4U,网络交换机在1U到2U之间,而一些刀片服务器在5U到10U之间或甚至更多。
在确定服务器机架之前,你还需要考虑服务器机架的宽度和高度(深度)。通常可接受的宽度为19英寸,深度为600-1,000mm。然而,这些机架中的许多通常具有可调节的后支架,即使大多数机架安装服务器通常包括可调节的安装套件,一旦它们具有足够的深度来容纳服务器就可以使用。
四柱机架是当今市场上最受欢迎的商用服务器机架之一,它设计用于容纳19英寸宽的设备和服务器。
普通机架的高度约为42U,其中一半的机架高度为24U,但有几种其他类型的机架,机架高度从5U到20U不等。这些不是对这些机架外部尺寸的测量,因为该特征高度依赖于机架的设计并且它是变化的。一些机架配有脚轮,有助于缓解运动。
开放式机架和小型壁挂式机柜是在空间有限的地方安装IT服务器的绝佳选择。但是,你需要意识到,如果你决定使用开放式机架,则必须满足特殊要求才能安装服务器,包括将机架固定在地板上。壁挂式机柜不适用于由少数服务器组成或比网络交换机重的任何负载。
3.隔离服务器以降低噪音
如果你没有专门放置和存放设备的单独房间,你将不得不考虑内部服务器设备附带的噪音。你需要一个分区的房间,即使它是一个小区域,因为从长远来看,它是值得的。
建立分区以后,能够消除或者减弱那些会影响员工整体工作效率的隐患。另外还有一个好处就是能够防止任何未经授权的人员篡改你的设备,有助于保护设备免受损坏并防止被盗。
在小型企业中,除了将机架放在房间的角落或IT部门内部别无选择外,强烈建议使用具有隔音功能的机架。 由于通风口无法实现完全隔音,因此这些机架通常通过其降噪特性来衡量。它们产生的噪音和机架本身的整体降噪能力的结合通常会决定它们的工作效果。
4.想要散发热量则需一个合适的空调机组
IT设备和服务器产生的热量通常很高,可能会缩短设备的使用寿命。它们还可能导致中断和崩溃,这可能很难解释,这就是为什么在构建内部服务器机房时安装冷却装置非常关键的原因。
但是,如果你只需要几个网络交换机,五托架网络连接存储(NAS)系统或服务器,你可能不需要担心冷却系统,除非你需要更大的NAS,多个服务器和一个中型UPS,这样的话热量会迅速增加。
服务器机架的热容量也直接受外部温度的影响。这就是强烈建议你在服务器机房安装空调装置的原因。
只要打开服务器并产生热量,这些空调就必须始终打开。建议使用不同的断路器安装独立的独立装置,以便在需要维修任何一个断路器时可以定期更换它们。
不要想着打开窗户再加上两部风扇来散发热量。
5.学会正确处理电缆
只有正确的电缆管理才能确保适当的通风。这就是为什么尝试将42个1U服务器强制进入全高机架是一个非常糟糕的主意,因为它会导致严重的布线限制或限制。许多旧服务器的机箱通常需要彼此之间1U到2U的空间,以确保正确的气流。目前,大多数现代机架式服务器都不需要这些空间。
设置一个装满机架的服务器机房需要的不仅仅是使用一些螺丝来帮助将这些设备固定到位。你需要了解如何管理从这些机架中排列的所有设备及其相应的以太网电缆中出来的电缆。除了机柜内布线外,还需要妥善管理或终止用于IP摄像机,台式计算机和所有其他网络设备的以太网LAN点的电缆。
处理所有这些的最佳方法是使用RJ45配线架终止以太网电缆。安装在1U空间中的普通接线板通常提供多达24个端口,并且通常需要某种形式的手动输入,例如剥离电缆,将其固定到接线板中以及使用线缆测试工具来验证其连接性。根据你的预算,你可以让网络专业人士或专家在一天内为你处理所有这些问题。
除了配线架之外,你还需要使用束线带,因为当你尝试固定杂散电缆时它们会派上用场。你可以获得可以重复使用的标准电缆扎带,当你批量购买时它们非常便宜。
6.学会标记,保持简单
在设置服务器时,要学会标记和记录你所使用的流程,这点是非常重要的。这样做,便于任何新员工或者供应商在需要了解服务器机房时,能够高效并系统的了解到服务器的整体系统情况。并且还可以防止可能发生的任何灾难性错误,包括重新启动或拔出系统而不发出任何形式的警告。
正确标记基础设施的最简单和最好的方法之一是使用标签打印机。该打印机可以从任何硬件商店购买。你必须使用正确描述它们的唯一名称或其IP地址来标记网络和服务器设备。你还应该为键盘,鼠标和视频开关,路由器,NAS设备,冗余硬件和数据备份设备等其他IT设备执行相同的操作。
这些注意事项应打印出来并妥善详细,以便轻松解释与你的内部硬件相关的重要程序。这些打印件应贴在冰箱磁铁或服务器机柜上。为了获得最佳结果,它们应包括与数据备份,联网,启动或关闭这些设备相关的操作说明,以防断电。
除了以上几点,还有一些需要你去了解和注意的地方:
a.空间要求
b.地板和柜子类型
c.设备尺寸
d.加热和冷却系统
e.电气设置
f.防火
g.紧急电气备份
h.安全和警报
最重要的一点是,以上所有内容都要花钱,所以要规划好你的预算,不要让设置服务器机房花掉了你整个IT预算。
⑵ 如何搭建一台存储服务器呢
搭建存储服务器需要先准备一台拥有足够存储空间和配置的服务器,并配置相关的网络连接。
对于 Windows 系统,可以使用 Windows Server 搭建存储服务器:
安装 Windows Server 操作系统。
启动服务器,进入控制面板。
在“程序”选项卡中,选择“启用或关闭 Windows 功能”。
选择“存储服务器”功能,然后单击“确定”。
按照提示,完成存储服务器的配置。
对于 Ubuntu 系统,可以使用 Samba 搭建存储服务器:
在终端中,执行以下命令安装 Samba:sudo apt-get install samba
创建一个存储文件夹,并配置存储权限。
编辑 Samba 配置文件 /etc/samba/smb.conf,添加以下内容:
[共享名称]
path = /路径/到/存储文件夹
writable = yes
browsable = yes
guest ok = yes
重启 Samba 服务:sudo service smbd restart
在客户端中,添加存储服务器,并验证是否能够正常连接。
注意:以上步骤是大致步骤,具体步骤及详细配置方式可以参考官方文档或者搜索教程
⑶ 一台服务器怎么使用其它存储服务器上的存储资源
使用SCSI线缆或者光纤将两台存储分别连接到服务器的口子上。
生产环境最常用的方案是两台存储光交与两台存储交叉连接,服务器两条光纤分别连接两台光交。
就是我们常说的FC SAN,当然也可以用万兆网络跑存储,就是IP SAN。
⑷ 如何在虚拟化环境下进行数据存储管理
理解虚拟机存储需求
规划部署方案可以节约时间和资金,并避免在将来出现令人头疼的问题。部署物理存储环境前,因当了解当前环境的具体情况。我们开始研究如何在虚拟化环境下解决存储的需求分配问题。每个环境都不尽相同,尽管如此,还是有一些简单问题可以帮助我们理清数据存储管理规划:
1、工程师需要理解环境中虚拟化的程度。环境中是否大多数服务器都已虚拟化,还是仅仅运行了少量的虚拟机。
2、需要超前规划将来用户、服务与应用增长所需的计算资源。环境会不断演变,既要满足当前应用,也要规划未来发展。
一旦开始规划,工程小组需要对自己即将部署的存储解决方案类型有深入认识。某些虚拟机需要为其存储设置许多固定参数,而其他虚拟机则可以更为灵活的调整。根据大多虚拟机监控(VMM)实现方案,可以大致分为两个主要部分:
1、在创建虚拟磁盘时预先分配所需的整个存储空间。此方案中,虚拟磁盘既可以被拆分为许多水平文件(默认情况下为每文件2GB大小)所组成的文件集,被称做"分割水平文件",也可以采用单一的水平文件。预分配存储机制也被成为"厚配置".
2、按需动态增长存储。若采用此机制,虚拟磁盘可以分割或单一文件保存,但其有一个重要特性--存储可以根据需求进行分配。此种类型的动态增长存储同样被称为"自动精简配置",VMware Inc.和Citrix System都支持此种磁盘配置。
一旦负载评估确定以及相关可行性调查完成,就可着手研究如何将存储添加至环境中。但比这更重要的一环是明确工作负载究竟需要多少存储空间,因为此时已进入存储资源分配过程了。
动态存储分布
管理员现在可以通过虚拟化平台接口进行监控,分配和管理所有虚拟机的存储需求。Vsphere、XenServer和Hyper-V目前都提供了非 常复杂的图形用户接口(GUI),这些管理工具可以提供关于虚拟机的详细信息。例如,管理员可以查看系统所连接的存储仓库,了解其是如何被利用的,也可以 查看每个虚拟机(VM)的磁盘使用状况。虚拟化管理平台的每次更新都加强了针对存储设备的连接能力,包括支持更多厂商的产品,新功能以及通过GUI界面所 能实现的存储设备管理。
在部署自动精简配置(或动态存储分配)作为虚拟磁盘特性时,需要留意存储资源池或数据存储中那些还未被使用的空间。通过跟踪未使用资源,工程师可以 调整最佳实践并决定下一步操作是回收现有未使用资源,或者在应用中断与宕机发生之前往资源池中加入新的可用空间。为避免系统宕机,建议对磁盘使用情况进行 追踪并设置告警等通知,保证在空间不足时能通知到管理员。动态空间分配并不是什么新技术,该功能在现今大部分主流虚拟化软件中都可以实现。尽管如此,关于 这种数据存储机制还是有一些管理技巧的:
1、设置磁盘空间需求告警。添加额外磁盘空间并不困难。现实中,实现空间添加可能只需要大约3次鼠标点击。挑战在于了解有多少资源可以分配,以及数 据存储是否将要用尽。要解决这个问题,工程师应该为虚拟化平台管理工具设置告警策略,以及准确管理自动精简配置。对某些管理平台来说,告警是项新功能,但 十分重要。这些告警可以通
2、过自定义触发规则实现,这样管理员们就可以对“磁盘空间耗尽”这项事故进行预防并才去行动。告警可设置为当数据存储使用率到 达某一百分数值或超额比率达到一定数值时触发相关通知。
3、文档与环境监控。每款主流虚拟化管理平台的GUI工具都很实用,任何IT工程师都应该能够检索存储仓库并对存储使用状况与规划有明确的认识。尽 管如此,在处理存储需求时,数据存储管理是一项永无止境的过程,需要无时无刻关注。空间资源耗尽并不是一个好应对的问题,而且通常情况下,可以通过审计与 对存储环境的维护来避免事故发生。
确保存储和虚拟化管理平台及时更新。经常检查负载状况是件十分重要的例行公事,留意存储硬件和虚拟化软件平台运行情况也十分重要。新硬件和软件更新可提供更好的支持与功能及,提升IT工程师管理环境的能力。微小变更,诸如告警与警示,可以用来增强存储空间管理能力。
⑸ 论述仓储规划在合理储存中的作用及其内容
2.1现有仓储配送运作模式及管理手段分析
佛山物流仓储配送业务主要由市场拓展部、运输经营部和仓储配送部三个部门合作完成。市场拓展部负责联系和引进新客户,运输经营部负责配送车辆的派遣调度工作,仓储配送部主要负责为客户提供仓储配送服务和仓储、装卸费用的结算工作,是整个业务的核心,是最为关键的部门。
仓储配送部由仓管班、叉车班、搬运班和办公室统计主管人员负责日常工作。
(1)出、入库管理
运货司机将货物和《送货单》(或《出库单》,欧司朗是用E-MAIL将《出库单》发至仓储部的电子邮箱上)一式两份送至仓库(欧司朗《送货单》上一般注明“卸货FT字样”),由仓储部调度员派仓管员接单办理出、入库业务。
入库的货物由搬运工卸货并由仓管员清点货物的品种和数量是否与《送货单》一致,检查货物包装是否完好,有无破损、污染等,再由仓管员在《送货单》上签收,将其中一份交给司机。另一份则转为《入库单》,完成整个入库、理货过程。然后是堆存,对食品类如“格力高”、“乐天”、“陕西西凤酒”货物一般放在货架上;“创维电视”、“纽士达氮纶”一般放在二楼平面仓库;“欧司朗(OSRAM)”货物则放在两层式托盘货架和平面库区。货物堆存完后是对平面库区的货物设置“销存卡”(即料卡)在卡上填写入库日期、货物品种数量、经手人、备注等内容(如果出库则要填上出库日期、出库数量等。)并将它放在货物表面明显位置。
货物出库时,不同的客户其提货方式也会不同的。如“大唐电信”为客户自提,由客户自己拣货。OSRAM为仓库拣货。OSRAM货物的出库主要有两种方式。一种为《转仓单》,由仓管员备好货之后复核装车,运送至目的地(一般这OSRAM公司仓库)。另一种是《装柜单》,帐务人员查收并打印该单并派仓管员备好货物,放置于“备货区”然后由第二个仓管员复核、装箱。其它货物,如“格力高”、“乐天”、“陕西西凤酒”、“创维电视”、“纽士达氮纶”则是由仓管员拣货并装车,完成出库过程。
(2)货物保管
存放在仓库内的货物保管工作主要是“在库盘点”和“适时整理货物”。一般是每周一、三、五盘点:统计员打印库存表,并由仓管员核对库存货物的品种及数量,检查货物是否变质、受潮、被盗等,及时预防货损、潮湿、虫、鼠害、偷盗等。
在整个仓储作业流程中,由于入库货物的堆存中,虽然不同客户的货物的固定的库位,但同一客户的不同品种的货物却没有相对固定的库位,往往同一库位放了不同品种的货物,而同一品种的货物却放在不同的库位,有时内销货物与出口货物也放在一起,给货物的出、入库和平时的盘帐与保管带来很多不便。而且,目前仓储配送部虽使用数据库系统,但货物出、入库,盘点,数据录入工作均以手工记录为主,计算机录入为辅,并未使用先进的物流软件。不但数据的准确性不高。发生货损货差率也比较大。
(3)配送流程
部分客户的货物(包括“格力高食品”、“乐天食品”、“大唐电信”等客户)则由运输经营部派出送货车辆,司机凭该部的《派车单》到仓储配送部提货并送货到客户目的地。
由于市场拓展部所引进的新客户未能与仓储配送部的具体情况相适应,在仓储费用和装卸费用上的定价不慎合理导致部的效益不高。而运输经营部派车时也没有视当日仓储作业的实际情况,致使货车排队等装货。
2.2仓储配送运作模式及管理手段优化分析
根据上述分析的状况,可以①对现有货位进行优化②仓储配送部采用先进物流软件系统③对各部门职权做局部调整以配合各部门之间的工作。
(1)、货位优化
仓库的货位分配考虑的原则包括:货架承载均匀,轻下重;周转,先入先出;提高可靠性,分区存放;提高效率,就近出、入库;产品相关性等。
通过与客户的沟通,了解不同品种货物的周转周期,根据货架和货品本身特性的需要而进行货位调整,将方便于货物进、出库的金黄区域给拣取率较高的货品,从而提高拣货效率。
(2)、仓储配送部应引进先进的物流信息系统,实现仓储管理信息化
通过引进仓库管理系统(Warehouse Management System,WMS)与条形码技术改变仓储配送部目前硬件设施与软件设备不配套的现状。
WMS一般具有:管理单独订单处理及库存控制、基本信息管理、货物流管理、信息报表、收货管理、拣选管理、盘点管理、移库管理、打印管理和后台服务系统等功能模块。
该系统可对货物的上货架、拣选、盘点、移库等操作进行统一调度和下达指令,并实时接收来自终端PC的反馈数据。实现了对库存商品管理实时有效的控制。其基本功能如下:
①基本信息管理:系统不仅支持对包括品名、规格、生产厂家、产品批号、生产日期、有效期和箱包装等商品基本信息进行设置,而且货位管理功能对所有货位进行编码并存储在系统的数据库中,使系统能有效的追踪商品所处位置,也便于操作人员根据货位号迅速定位到目标货位在仓库中的物理位置。
②上货架管理:系统在自动计算最佳上架货位的基础上,支持人工干预,提供已存放同品种的货位、剩余空间,并根据避免存储空间浪费的原则给出建议的上架货位并按优先度排序,操作人员可以直接确认或人工调整。
拣选管理:拣选指令中包含位置信息和最优路径,根据货位布局和确定拣选指导顺序,系统自动在RF终端的界面等相关设备中根据任务所涉及的货位给出指导性路径,避免无效穿梭和商品找寻,提高了单位时间内的拣选量。
③库存管理:系统支持自动补货,通过自动补货算法,不仅确保了拣选存货量,也能提高仓储空间利用率,降低货位蜂窝化现象出现的概率。系统能够对货位通过深度信息进行逻辑细分和动态设置,在不影响自动补货算法的同时,有效的提高了空间利用率和对控制精度。
⑹ 仓库货物种类多,怎么规划储存
1、总体布局的基本原则:
1.1利于作业优化。仓库作业优化是指提高作业的连续性,实现一次性作业,减少装卸次数,缩短搬运距离,最短的搬运距离;最少的搬运环节;使仓库完成一定的任务所发生的装卸搬运量最少。同时还要注意各作业场所和科室之间的业务联系和信息传递。保证仓库安全。
1.2单一的物流流向,保持直线作业,避免迂回逆向作业;强调唯一的物流出口和唯一的物流入口,便于监控和管理;
1.3最大限度的利用平面和空间
1.4节省建设投资。仓库中的延伸型设施——供电、供水、供暖、通讯等设施对基建投资和运行费用的影响都很大,所以应该尽可能集中布置。
1.5便于储存保管。提高物品保管质量;
1.6保管在同一区域的货物必须具有互容性,当货物的性质互相有影响或相互有抵触时,不能在相同的库房内保存。
1.7保管条件不同的货物不能混存。如温湿度等保管条件不同,不宜将它们放在一起,因为在同一个保管空间内,同时满足两个或多个保管条件的成本是非常高的,是不实际的。
1.8作业手段不同的货物不能混存。当在同一保管空间内,物体的体积和重量相差悬殊时,将严重影响该区域作业所配置的设备利用率,同时也增加了作业的复杂性和作业难度。
1.9灭火措施不同的货物不能混存。当火方法不同的货物放在一起,不仅会使安全隐患增加,也增加了火灾控制和扑救的难度和危险性。
2、
区域规划的方法
2.1按照仓储的功能不同进行分区。各功能区的规划和布局是否合理,将对仓库作业的效率、质量、成本和赢利目标的实现产生很大的影响。一般使用面积的1/3被用作非仓储功能。除非受条件所限将物流出入口规划在一个区域。
2.1.1通道。通道畅通;物流入口和物流出口要挂牌;将通道和功能区域用油漆在地面规划出来。分为主通道、副通道、检查通道。需要路面平整和平直,减少转弯和较差。
2.1.2办公区。为了增加保管面积,仓储办公室尽可能设置在仓库内的二楼,或规划在入口处,便于沟通交流和快速反应;
2.1.3生活区。食堂、更衣室、卫生间、休息区。
2.1.4工具区。集中管理,便于维修、养护;规定消防设施存放的位置;车库;变电室;油库;维修间;
2.1.5保管区。保管区内功能的规划。
2.1.5.1验收区。接待供应商的区域。
2.1.5.2整货区。主要的仓储区域。
2.1.5.3散货区。规模大的企业可以将拆包的整件货单独设置区域,货位与整货区相对应,便于分拣备货管理。这一区域的规划对高效作业和客户服务起着关键性作用。
2.1.5.4备货区。提前按定单备货。
2.1.5.5复核区。对出入库的最后把关,与客户交接区域。
2.1.5.6退货区。接受顾客退货。
2.1.5.7废品区。等待报废核销。
2.1.5.8次品区。有修复或退货给供应商的可能。
2.2按照库存(www.chinatpm.net)商品理化性质不同进行分区,确定存入同一库房的物资品种理化性质相同,便于采取养护措施;如:金属区、塑料区、纺织区、冷藏区、危险品区等。
2.3按照库存商品使用方向不同进行分区,如专用品:中药、西药、保健品;
2.4 按照库存商品供应商不同进行分区,便于项目管理。
3、《仓库平面图》,显示仓库内的通道和区域、门窗、楼梯、电梯的位置,显示消防设施位置,显示仓库所在的地理位置,所处的外界周边环境;
4、货位规划
4.1货位摆放原则
4.1.1最接近物流出口原则。在规定固定货位和机动货位的基础上,要求物料摆放在离物流出口最近的位置上。
4.1.2以库存周转率为排序的依据的原则。经常性的出入库频次高且出入量比较大的品种放在离物流出口最近的固定货位上;当然,随着产品的生命周期、季节等因素的变化,库存周转率也会变化,同时货位也在重新排序。
4.1.3关联原则。由于bom表或习惯,两个或两个以上相关联的物料被经常同时使用,如果放在相邻的位置,就可以缩短分拣人员的移动距离,提高工作效率。
4.1.4唯一原则。(合格的)同一物料要求集中保管在唯一货位区域内,便于统一管理,避免多货位提货;当然,自动化立体仓库不用严格遵守这个原则。
4.1.5系列原则。同一系列的物料,设置一个大的区域,如油品区、半轴区、轴承区、晨新(供应商)区、富奥区、标准件区、橡胶件区、易损件区等。
4.1.6隔离易混物料原则。外观相近,用肉眼难以识别的物料,在标示清晰的基础上,要间隔2个以上的货位,防止混在一起,难以区分。
4.1.7批号管理原则。适用于食品、药品、化妆品等对有效期比较敏感的商品,一个批号的商品必须单独放在一个货位上;通过先进先出,进行严格管理,同一批号的商品如果检验不合格或者早产不允许放行,要设立红牌警示,避免混出工厂,产生质量事故;
4.1.8面对通道原则。即把商品的标示面对通道,不仅是把外面的一层面对通道,而且要把所有的商品标示都要面对通道,面对同一方向,使分拣人员能够始终流畅地进行工作,不用中断工作去确认标示。不围不堵。
4.1.9合理搭配原则。要考虑物料的形状大小,根据实际仓库的条件,合理搭配空间;避免空间不足多货位放货,避免空间太大使用不充分。
4.1.10上轻下重原则。楼上或上层货位摆放重量轻的物料,楼下或者下层货位摆放重量大的物料,这样可以减轻搬运强度,保证货架、建筑与人员的安全。
4.1.11化学品、易燃易爆危险品单独区域存放原则。重点管理维护,避免影响其它物料的安全。
4.1.12目视化看板原则。绘制《货位平面图》,标明商品明确的货位,即使是临时人员,也能准确无误的分拣出正确的商品。
4.1.13“五距”——顶距:距离楼顶或横梁50厘米,灯距:防爆灯头距离货物50厘米,墙距:外墙50厘米,内墙30厘米,柱距:留10-20厘米,垛距:留10厘米。易燃物品还应留出防火距离。
5、货位的存货方式
5.1类型
5.1.1固定型。是一种利用信息系统实现将货架进行分类、编号,并贴上货架代码,各货架内存储的货物事先加以确定货位的存货方式。要注意设定每一个货位的容量都应该大于在该货位储存货物的最大库存量,否则将会出现货位不足,货物不能及时入库的现象;通过设置一定数量的周转货位来解决,及时调整到其他临时货位上。适用于非季节性货物的管理,适用于固定的重点客户和种类多性质差异大的库存。具有准确性和便利性的特点。
5.1.2流动型。是一种不事先确定货位的存货方式,所有货物按到货顺序摆放在空的货架中。由于货物和货位是不断变化的,当频繁变更登陆管理信息系统时,出现差错的机会就比较高。适用于出入库频繁、周转量大、物流量变化剧烈的货物,如一些季节性商品。
5.2货位编码管理
货位唯一性:每一个货位编码。只能代表唯一的货位;
编码顺序:库位、区位、架位、层位、(格位);
系统检索时,能跟踪每一批货物的来源、去向、批号、保质期等各个方面的特点。
货位盘点:参看盘点方法。
5.3堆码方式:
就地堆码—大批量、单一品种的货物;
货架存放—小批量、多品种的货物;
平台堆码—当库房净空较高时,可搭建平台,提高空间利用率;
5.4基本要求:
5.4.1合理。是指性质、品种、规格、批次不同的货物和不同客户的货物,应该分开堆放。取保先入先出。
5.4.2牢固。是指堆放稳定结识,不偏不斜。货垛较高时,上部适当收小,防止倒垛。不稳定的货物要使用绳索捆绑固定。
5.4.3定量。是指每一垛的数量保持一致,底数和层高一致。长宽高的数量最好是整数,便于过目成数。
5.4.4整齐。是指垛型整齐,标准化统一化管理,横平竖直,不压线,不出肚。
5.4.5节约。是指在规定允许的范围内尽可能加高,节省货位,提高仓容利用率;一次性作业,避免重复劳动;
5.4.6方便。是指堆码方便出入库、装卸搬运、盘点作业。
6、规划的“6不”改善法
6.1不让等。使员工和设备闲置时间为零。通过正确的安排作业流程和作业量,使其连续工作。
6.2不让碰。员工与物品的接触机会为零。利用机械化和自动化的物流设备,减轻劳动强度。
6.3不让动。缩短移动距离和次数。科学规划,优化物品设备的位置,减少物品和人员的移动;或者物品移动人员不动。
6.4不让想。操作简便。按照专业化、简单化和标准化的原则,分解作业活动和作业流程;大量应用计算机和自动化控制设备等现代化手段。
6.5不让找。通过现场“5S”管理,使工具、物品、文件等放置的位置一目了然或通过简单的查询记录马上能够找到。
6.6不让写。无纸化作业。应用条形码、无线射频等信息技术,使作业的记录自动化。
7、公司仓库规划管理制度
第一条
库位规划
物料管理室应依成品缴出库情况、包装、方式等规划所需库位及其面积,以使库位空间有效利用。
第二条
库位配置
库位配置原则应依下列规定:
1.配合仓库内设备(例如油压车、手推车、消防设施、通风设备、电源等)及所使用的储运工具规划运输通道。
2.依销售类别、产品类别分区存放,同类产品中计划产品与订制产品应分区存放,以利管理。
3.收发频繁的成品应配置于进出便捷的库位。
4.将各项成品依品名、规格、批号划定库位,标明于“库位配置图”上,并随时显示库存动态。
第三条
堆放
物料管理室应会同质量管理室的质量管理人员,依成品包装形态及质量要求设定成品堆放方式及堆积层数,以避免成品受挤压而影响质量。
⑺ 个人怎么使用云存储
南京云创存储为您解答:
当我们使用某一个独立的存储设备时,我们必须非常清楚这个存储设备是什么型号,什么接口和传输协议,必须清楚地知道存储系统中有多少块磁盘,分别是什么型号、多大容量,必须清楚存储设备和服务器之间采用什么样的连接线缆。为了保证数据安全和业务的连续性,我们还需要建立相应的数据备份系统和容灾系统。除此之外,对存储设备进行定期地状态监控、维护、软硬件更新和升级也是必须的。如果采用云存储,那么上面所提到的一切对使用者来讲都不需要了。云状存储系统中的所有设备对使用者来讲都是完全透明的,任何地方的任何一个经过授权的使用者都可以通过一根接入线缆与云存储连接,对云存储进行数据访问。
⑻ 台式机如何存储服务器
台式机可以通过安装一台硬盘、一台光驱或者一台U盘等外部存储设备来作为存储服务器。首先,将存储介质(如U盘、光驱或硬盘)连接到台式机上,然后在操作系统中安装存储服务器软件,该软件能够提供文件共享、备份、存档等功能。
⑼ 苹果手机的icloud存储空间如何使用
苹果iCloud储存空间不足怎么办?iCloud是苹果公司提供的一项云服务,可以为我们的iPhone、iPad等IOS数据提供信息与资料的共享和同步,但随着时间的累积,各项数据也在增加,而iCloud只有5GB的免费存储空间,若是因此遇到了储存空间不足等问题应该怎么解决呢?下面小编就教你一招,分分钟帮你解决这个问题。
方法一:清理iCloud数据
首先打开手机设置,输入自己的Apple ID进入后,进入“iCloud”界面,这时我们可以看到正在使用iCloud的应用和已经使用的储存情况,我们可以点击“管理空间”进入查看具体的使用情况。
接着选择需要清理的数据,可以挑选自己平时用不到的进行清理,在这里以“照片”为例,点击进入后选择下方的“停用和删除”就可以清理iCloud中存储的数据了。
但有些小伙伴可能会说,我不想将iCloud中备份好的数据删除,储存空间不够了,其数据是不是就没办法备份了呢?当然不是,我们还可以用到“果备份”。
方法二:果备份
相较iCloud,使用果备份就没有了存储空间的限制,它可以一键备份我们苹果手机中的照片、微信聊天记录、通讯录等等数据,具体操作如下:
在电脑上打开果备份后,用数据线将手机连接至手机,点击首界面中的“开始备份”按钮就可以进行整机备份了。
待备份结束后,我们还可以点击左侧的各个数据项进入备份详情页查看数据,在这里小编以微信聊天记录为例,点击进入后就可以直接预览啦,当然,如果你有需要的话,还可以将备份好的微信聊天记录导出哟!
好啦,以上就是有关备份相关的内容啦,大家在生活中最好养成定期备份的习惯,因为小编经常看到有小伙伴误删数据后,着急寻找恢复方法,其实定期备份这些问题自然就解决了,如果因为iCloud的空间限制问题你不想备份,那果备份一定会成为你的解药哦!
⑽ 存储过程如何使用
问题一:sql 中存储过程怎么使用? sql存储过程及应用
一、简介:
存储过程(Stored Procere), 是一组为了完成特定功能的SQL 语句,集经编译后
存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行
它,
在SQL Server 的系列版本中,存储过程分为两类:系统提供的存储过程和用户自定义存储过程
。
系统SP,主要存储master 数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取
信息,从而为系统管理员管理SQL Server。用户自定义存储过程是由用户创建,并能完成
某一特定功能,如:查询用户所需数据信息的存储过程。
存储过程具有以下优点
1.存储过程允许标准组件式编程(模块化设计)
存储过程在被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句,而
且数
据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响。因为应用程序源代
码只包含存
储过程的调用语句,从而极大地提高了程序的可移植性。
2.存储过程能够实现快速的执行速度
如果某一操作包含大量的Transaction-SQL 代码,,或分别被多次执行,那么存储过程要比批处理
的
执行速度快很多,因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进
行分析优
化,并给出最终被存在系统表中的执行计划,而批处理的Transaction-SQL 语句在每次运行时
都要进行
编译和优化,因此速度相对要慢一些。
3.存储过程能够减少网络流量
对于同一个针对数据数据库对象的操作,如查询修改,如果这一操作所涉及到的Transaction-SQL
语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调
用语句,否
则将是多条SQL 语句从而大大增加了网络流量降低网络负载。
4.存储过程可被作为一种安全机制来充分利用
系统管理员通过,对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的
限
制。
二、变量
@I
三、流程控制语句(if else | select case | while )
Select ... CASE 实例
DECLARE @iRet INT, @PKDisp VARCHAR(20)
SET @iRet = '1'
Select @iRet =
CASE
WHEN @PKDisp = '一' THEN 1
WHEN @PKDisp = '二' THEN 2
WHEN @PKDisp = '三' THEN 3
WHEN @PKDisp = '四' THEN 4
WHEN @PKDisp = '五' THEN 5
ELSE 100
END
四、存储过程格式
创建存储过程
Create Proc dbo.存储过程名
存储过程参数
AS
执行语句
RETURN
执行存储过程
GO
*********************************************************/
-- 变量的声明,sql里面声明变量时必须在变量前加@符号
DECLARE @I INT
-- 变量的赋值,变量赋值时变量前必须加set
SET @I = 30
-- 声明多个变量
DECLARE @s varchar(10),@a INT
-- Sql 里if语句
IF 条件 BEGIN
执行语句
END
ELSE BEGIN
......>>
问题二:为什么要使用存储过程? 几个去 IBM 面试的兄弟回来抱怨:去了好几个不同的 IBM项目组,几乎每个面试官问到数据库的时候都要问用没用过存储过程,烦人不?大家去面的程序员,又不是笔者认为,存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。但是存储过程处理比较复杂的业务时比较实用。比如说,一个复杂的数据操作。如果你在前台处理的话。可能会涉及到多次数据库连接。但如果你用存储过程的话。就只有一次。从响应时间上来说有优势。也就是说存储过程可以给我们带来运行效率提高的好处。另外,程序容易出现 BUG数据量小的,或者和钱没关系的项目不用存储过程也可以正常运作。mysql 的存储过程还有待实际测试。如果是正式项目,建议你用 sqlserver 或 oracle的存储过程。数据与数据之间打交道的话,过程会比程序来的快的多。面试官问有没有用存储,实际上就是想知道前来面试的程序员到底做过数据量大的项目没。如果是培训出来的,或者小项目小公司出来的,对存储肯定接触的少了。所以,要想进大公司,没有丰富存储过程经验,是不行的。错。存储过程不仅仅适用于大型项目,对于中小型项目,使用存储过程也是非常有必要的。其威力和优势主要体现在:1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。这些操作,如果用程序来完成,就变成了一条条的 SQL语句,可能要多次连接数据库。而换成存储,只需要连接一次数据库就可以了。3.存储过程可以重复使用,可减少数据库开发人员的工作量。4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权。存储过程的缺点1:调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。 2:移植问题,数据库端代码当然是与数据库相关的。但是如果是做工程型项目,基本不存在移植问题。 3:重新编译问题,因为后端代码是运行前编译的,如果带有引用关系的对象发生改变时,受影响的存储过程、包将需要重新编译(不过也可以设置成运行时刻自动编译)。4:如果在一个程序系统中大量的使用存储过程,到程序交付使用的时候随着用户需求的增加会导致数据结构的变化,接着就是系统的相关问题了,最后如果用户想维护该系统可以说是很难很难、而且代价是空前的。维护起来更加麻烦!
问题三:oracle中的存储过程,有什么作用,以及怎么在代码中使用? 楼上也不知道从哪扒下来的,一看LZ就是初学,举点例子不行吗?
比如建立个测试表
create table test(id int,name varchar2(10),counts int); insert into test values (1,'张三',100);insert into test values (2,'李四',200); mit;
现在给你出个题目是
查询所有人加在一起的counts是多少
创建存储过程
create or replace p_test --创建存储过程,asv_counts int;--定义变量begin --开始select sum(counts) into v_counts from test;--将得到的结果放到变量里DBMS_OUTPUT.PUT_LINE(v_counts);--将结果打印输出end;--结束
执行这种不带输入参数的
begin p_test;end;
然后你检查下结果
再给你创建一个带输入参数的
题目是,查询id为1的人名是什么
create or replace p_test1(v_id int)asv_name varchar2(10);beginselect name into v_name from test where id=v_id;DBMS_OUTPUT.PUT_LINE(v_name);end;
执行时这样
beginp_test1(1);end;
第2个我没给你写注释,你看你自己应该能理解吧
补充一下,存储过程不一定只是执行查询,也可以做删除或者修改等sql语句,总体来说就是几个或N个sql语句的 *** ,来完成系统内某些特定的需求,这些需求可以是一个sql搞定的,也可以是多个sql组合的
问题四:SQL 存储过程建立和使用方法? Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句 *** ,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。 存储过程相对于其他的数据库访问方法有以下的优点: (1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。 (2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。 (3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。 (4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。 存储过程一共分为了三类:用户定义的存储过程、扩展存储过程以及系统存储过程。 其中,用户定义的存储过程又分为Transaction-SQL和CLR两种类型。 Transaction-SQL 存储过程是指保存的Transaction-SQL语句 *** ,可以接受和返回用户提供的参数。 CLR存储过程是指对.Net Framework公共语言运行时(CLR)方法的引用,可以接受和返回用户提供的参数。他们在.Net Framework程序集中是作为类的公共静态方法实现的。(本文就不作介绍了) 创建存储过程的语句如下:Code
CREATE { PROC | PROCEDURE } [schema_name.] procere_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [ [ OUT [ PUT ]
] [ ,n ]
[ WITH [ ,n ]
[ FOR REPLICATION ]
AS { [;][ n ] | }
[;]
::=
[ ENCRYPTION ]
[ REPILE ]
[ EXECUTE_AS_Clause ]
::=
{ [ BEGIN ] statements [ END ] }
::=
EXTERNAL NAME assembly_name.class_name.method_name [schema_name]: 代表的是存储过程所属的架构的名称 例如: Create Schema yangyang8848
Go
Create Proc yangyang8848.AllGoods
As Select * From Master_Goods
Go 执行:Exec AllGoods 发生错误。 执......>>
问题五:数据库中的存储过程怎么用 啊!!求解..... 10分 关键字:procere
例子:
SQL> create [or replace] procere procere_name is
begin
--开始执行
insert into test('10001','Visket');
end;
/
以上操作就能为test表添加一条信息
执行存储过程procere用的命令是exec
记住存储过程中,语句结尾一定要有分号
问题六:存储过程是多用还是少用? 做项目的时候我们有时候会面临一个选择,我们到底是应该多写存储过程还是少写存储过程了?这个问题的争论也是由来已久,在不同的公司以及不同的技术负责人那里往往会得到不同的答案。在实际项目中我们最后所采取的方式,往往不外乎以下三种方式。
第一种方式是要求所有数据库操作不使用任何的存储过程,所有操作都采用标准sql语句来完成,即便是一个动作需要完成多步数据库操作,也不使用任何存储过程,而是在程序代码中采用事务的方式来完成;第二种方式就是就要求所有的数据库操作都用存储过程封装起来,哪怕是一个最简单的insert 操作。在程序代码看不到一行 sql语句,如果采用分工合作的方式,程序员甚至都可以不懂sql语法。第三种方式是一般相对简单的数据库操作采用标准sql语句来完成,一些相对比较复杂的商务逻辑用存储过程来完成。
当然系统如果采用了hibernate或nhibernate之类的框架,不需要写sql语句的时候,我想还是应该属于第三种方式,因为在开发的时候hibernate框架允许我们在适当的时候,抛开其框架自己写存储过程和sql语句来完成数据库操作。其实这三种方式都各有所长,也各有不足。
第一种方式是所有的数据库操作都采用标准sql语句来完成的方式,在程序的执行效率上是肯定不如后面两种方式,系统如果是一个大型的ERP,这种方式就是绝对不可取的。因为在开发基本结束后,系统如果需要优化或者希望得到优化时,那对开发人员来说就是一件非常麻烦的事情了,因为优化的重点基本上都是集中数据库操作上,开发人员所能做的就是一个个sql语句去检查,是不是还能进一步优化,尤其是一些相对比较复杂的查询语句是我们所检查的重点。分页显示就是一个典型的存储过程提高程序效率的例子。如果使用存储过程来进行分页操作,就是利用存储过程从系统中提取我们所需要的记录集,分页的效率就大大提高了。反过来如果我们不用存储过程进行分页操作,是利用sql语句的方式把所有记录集都读入内存中,然后再从内存中获取我们所需要的记录 *** ,这样分页效率自然就降低了。当然利用sql语句也能得到我们所需要的记录,而不是所有记录,但是那样麻烦多了,不在我们讨论范围之内。
这种方式另外还有一个不足之处,一个系统或一个项目总会或多或少地存在有一些容易变化而又复杂的商务逻辑,如果把这些复杂的商务逻辑封装到存储过程中,商务逻辑的变化都只涉及存储过程变化,而与程序代码不 *** ,那么不用存储过程太可惜了。
这种方式虽然有不足,但是一旦采用这种方式的话,我们如果对该项目进行数据库移植的时候,开发人员就会觉得当时的决策人是多么的伟大与英明。而且我们知道access和mysql的以前版本是不提供存储过程支持的,所有一些中小项目在这个方面的选择往往也是不得已而为之。不用存储过程有一个优点,调试代码的时候没有存储过程可是要方便很多很多的哦,所以在很多很多的项目中都是采用标准的sql语句而不使用任何的存储过程。这可是大多程序员用标准sql而不用存储过程的直接原因,说白了,就是嫌麻烦。
第二种方式是所有的数据库操作全部采用存储过程封装的方式,如果采用这种方式,程序的执行效率相对要高,尤其面对在一些复杂的商务逻辑时候,不仅在效率方面有明显的提高,而且当商务逻辑发生变化时,我们开发人员做相应的修改的时候,往往都不用修改程序代码,仅仅修改存储过程就能满足系统变化了。
还有一个好处就是当我们开发好的一个系统后,如果发现一种模式或语言在某些方面难以满足需求时,我们就可以很快的用两外一种语言来重新开发,那个时候就非常方便了。比如在02年中科院下属的一个公司就用ASP开......>>
问题七:在SQL中存储过程的一般语法是什么? sql server存储过程语法
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于SQL语句的重用。
在ASP中,一般通过mand对象调用存储过程,根据不同情况,本文也介绍其它调用方法。为了方便说明,根据存储过程的输入输出,作以下简单分类:
1. 只返回单一记录集的存储过程
假设有以下存储过程(本文的目的不在于讲述T-SQL语法,所以存储过程只给出代码,不作说明):
/*SP1*/
CREATE PROCEDURE dbo.getUserList
as
set nocount on
begin
select * from dbo.[userinfo]
end
go
以上存储过程取得userinfo表中的所有记录,返回一个记录集。通过mand对象调用该存储过程的ASP代码如下:
'**通过mand对象调用存储过程**
DIM Mym,MyRst
Set Mym = Server.CreateObject(ADODB.mand)
Mym.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
Mym.mandText = getUserList '指定存储过程名
Mym.mandType = 4 '表明这是一个存储过程
Mym.Prepared = true '要求将SQL命令先行编译
Set MyRst = Mym.Execute
Set Mym = Nothing
存储哗程取得的记录集赋给MyRst,接下来,可以对MyRst进行操作。
在以上代码中,mandType属性表明请求的类型,取值及说明如下:
-1 表明mandText参数的类型无法确定
1 表明mandText是一般的命令类型
2 表明mandText参数是一个存在的表名称
4 表明mandText参数是一个存储过程的名称
还可以通过Connection对象或Recordset对象调用存储过程,方法分别如下:
'**通过Connection对象调用存储过程**
DIM MyConn,MyRst
Set MyConn = Server.CreateObject(&qu......>>
问题八:如何使用Oracle存储过程的一个简单例子 楼主您好
---创建表
create table TESTTABLE
(
id1 VARCHAR2(12),
name VARCHAR2(32)
)
select t.id1,t.name from TESTTABLE t
insert into TESTTABLE (ID1, NAME)
values ('1', 'zhangsan');
insert into TESTTABLE (ID1, NAME)
values ('2', 'lisi');
insert into TESTTABLE (ID1, NAME)
values ('3', 'wangwu');
insert into TESTTABLE (ID1, NAME)
values ('4', 'xiaoliu');
insert into TESTTABLE (ID1, NAME)
values ('5', 'laowu');
---创建存储过程
create or replace procere test_count
as
v_total number(1);
begin
select count(*) into v_total from TESTTABLE;
DBMS_OUTPUT.put_line('总人数:'||v_total);
end;
--准备
--线对scott解锁:alter user scott account unlock;
--应为存储过程是在scott用户下。还要给scott赋予密码
---alter user scott identified by tiger;
---去命令下执行
EXECUTE test_count;
----在ql/spl中的sql中执行
begin
-- Call the procere
test_count;
end;
create or replace procere TEST_LIST
AS
---是用游标
CURSOR test_cursor IS select t.id1,t.name from TESTTABLE t;
begin
for Test_record IN test_cursor loop---遍历游标,在打印出来
DBMS_OUTPUT.put_line(Test_record.id1||Test_record.name);
END LOOP;
test_count;--同时执行另外一个存储过程(TEST_LIST中包含存储过程test_count)
end;
-----执行存储过程TEST_LIST
begin
TEST_LIST;
END;
---存储过程的参数
---IN 定义一个输入参数变量,用于传递参数给存储过程
--OUT 定义一个输出参数变量,用于从存储过程获取数据
---IN OUT 定义一个输入、输出参数变量,兼有以上两者的功能
......>>
问题九:如何使用sql语句查看存储过程 --下面这条语句可以查看存储过程具体代码exec sp_helptext 存储过程名--下面这条语句查看数据库中有哪些存储过程select * from sysobjects where type='P'
问题十:存储过程中怎么使用row 一般分为十种情况,每种语法各不相同: 1、 创建语法create proc | procere pro_name [{@参数数据类型} [=默认值] [output], {@参数数据类型} [=默认值] [output], .... ]as SQL_statements2、 创建不带参数存储过程--创建存储过程if (exists (select * from sys.objects where name = 'proc_get_student')) drop proc proc_get_studentgocreate proc proc_get_studentas select * from student;--调用、执行存储过程exec proc_get_student;3、 修改存储过程--修改存储过程alter proc proc_get_studentasselect * from student;4、 带参存储过程--带参存储过程if (object_id('proc_find_stu', 'P') is not null) drop proc proc_find_stugocreate proc proc_find_stu(@startId int, @endId int)as select * from student where id between @startId and @endIdgoexec proc_find_stu 2, 4;5、 带通配符参数存储过程--带通配符参数存储过程if (object_id('proc_findStudentByName', 'P') is not null) drop proc proc_findStudentByNamegocreate proc proc_findStudentByName(@name varchar(20) = '%j%', @nextName varchar(20) = '%')as select * from student where name like @name and name like @nextName;goexec proc_findStudentByName;exec proc_findStudentByName '%o%', 't%';6、 带输出参数存储过程if (object_id('proc_getStudentRecord', 'P') is not null) drop proc proc_getStudentRecordgocreate proc proc_getStudentRecord( @id int, --默认输入参数 @name varchar(20) out, --输出参数 @age varchar(20) output--输入输出参数)as select @name = name, @age = age from student where id = @id and sex = @age;go-- declare @id int, @name varchar(20), @temp varchar(20)......>>