网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQLServer2000教程

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

    5.1.4
    USESAMPLEGO--创建“字符数据”数据表CREATETABLE字符数据(char_stringchar(5),varchar_stringvarchar(5),text_stringtext)GO--向“字符数据”数据表中添加两行数据INSERTINTO字符数据VALUES(“test”,“test”,“thisisatestfortextdatatype”)INSERTINTO字符数据VALUES(“thisisatestforchardatatype”,“thisisatestforvarchardatatype”,“thisisatestfortextdatatype”)GO--从“字符数据”数据表中检索数据SELECT*FROM字符数据GO
    5.2.1
    USEsampleGO--创建“整型数据”数据表CREATETABLE整型数据(bigint_numberbigint,int_numberint,
    smallint_numbersmallint,tinyint_numbertinyint)GO--向“整型数据”数据表中添加两行数据INSERTINTO整型数据VALUES(9223372036854775807,2147483647,32767,255)INSERTINTO整型数据VALUES(-9223372036854775808,-2147483648,-32768,0)GO--从“整型数据”数据表中检索数据SELECT*FROM整型数据GO
    5.2.2
    USEsampleGO--创建“数字数据”数据表CREATETABLE数字数据(decimal_numberdecimal(8,6),numeric_numbernumeric(5,3))GO--向“数字数据”数据表中添加两行数据INSERTINTO数字数据VALUES(99.99999788,50)INSERTINTO数字数据VALUES(99.999999,300)GO--从“数字数据”数据表中检索数据SELECT*
    FROM数字数据GO
    5.3.3
    USEsampleGO
    --创建“货币数据”数据表CREATETABLE货币数据(money_numbermoneysmallmoney_numbersmallmoney)GO--向数据表中添加两条合理记录INSERTINTO货币数据VALUES($123.45,$1)INSERTINTO货币数据VALUES($123.45,CAST('$111,111.45'ASMONEY))GO--向数据表中添加带有逗号分隔符的货币数据INSERTINTO货币数据VALUES($123.45,$111,111.45)GO--从数据表中检索数据SELECT*FROM货币数据GO
    5.6
    USEsampleGO
    --创建“二进制数据”数据表
    CREATETABLE二进制数据(binary_numberbinary(6)vbinary_numbervbinary(6))GO--向数据表中添加三条记录INSERTINTO二进制数据VALUES(0xABCDE,0xABCDE)INSERTINTO二进制数据VALUES(0xABCDEA,0x46F)INSERTINTO二进制数据VALUES(0xABCDEABCDEABCDE,0x46F)GO--从数据表中检索数据SELECT*FROM二进制数据GO
    5.8.5
    USEsampleGO
    --创建“特殊数据”数据表CREATETABLE特殊数据(sql_variant_datasql_variant)GO--向数据表中添加几条带有不同数据类型的记录INSERTINTO特殊数据VALUES(‘Thisisasql_variantdatatypetest’)INSERTINTO特殊数据VALUES(123456)INSERTINTO特殊数据
    VALUES(‘April15,1998’)GO--从数据表中检索数据SELECT*FROM特殊数据GO
    5.9
    --定义变量DECLARE@Table_ExampleTABLE(Col_numintPRIMARYKEY,Col_textchar(50))--向该变量中添加两行内容INSERTINTO@Table_ExampleVALUES(1,‘thisisa’)INSERTINTO@Table_ExampleVALUES(2,‘tabledatatypeexample’)--从临时表中检索SELECT*FROM@Table_ExampleGO
    5.10
    --创建birthday用户定义数据类型,它使用了datetime基本数据类型,允许NULLUSEsampleEXECsp_addtypebirthday,datetime,‘NULL’GO--在数据表定义时使用birthday用户定义数据类型CREATETABLE特殊数据(char_datachar(20),birthday_databirthday)GO--向数据表中添加几条记录
    INSERTINTO特殊数据VALUES(‘Sarah’,‘02/22/1976’)INSERTINTO特殊数据VALUES(‘Tina’,‘04/15/1998’)GO--从数据表中检索数据SELECT*FROM特殊数据GO--删除birthday用户定义数据类型EXECsp_droptypebirthday
    6.1.2
    CREATEDATABASEdatabase_name[ON[PRIMARY][[1,...n]][,[1,...n]]][LOGON{[1,...n]}][FORLOAD|FORATTACH]::=([NAME=logical_file_name,]FILENAME=‘os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])[,...n]::=FILEGROUPfilegroup_name[,...n]例2:CREATEDATABASEsalesON(NAME=‘sales_dat’,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\sales_dat.mdf’,SIZE=5
    MAXSIZE=30FILEGROWTH=2)
    LOGON(NAME=‘sales_log’,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\sales_log.ldf’,SIZE=2MBMAXSIZE=20MBFILEGROWTH=2MB)GOCREATEDATABASEReportONPRIMARY(NAME=Rep1,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\rep1_dat.mdf’SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB),(NAME=Rep2,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\rep2_dat.ndf’SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB),(NAME=Rep3,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\rep3_dat.ndf’SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB)
    LOGON(NAME=Rep1_log,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\rep1_log.ldf’SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB),
    (NAME=Rep2_log,FILENAME=‘c:\programfiles\microsoftsqlserver\mssql\data\rep2_log.ldf’SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB)GO
    6.3.1
    EXECsp_dboption‘产品数据库’,‘SINGLEUSER’,TrueEXECsp_renamedb‘产品数据库’,‘product’EXECsp_dboption‘product’,‘SINGLEUSER’,False
    6.3.2
    ALTERDATABASE员工数据库MODIFYFILE(NAME=‘员工数据库_dat’,SIZE=15)ALTERDATABASE产品数据库MODIFYFILE(name=‘产品数据库_log’,SIZE=3)
    DBCCSHRINKFILE(file_name{[,target_size]|[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]})USE产品数据库DBCCDHRINKFILE(‘产品数据库_dat’,6)
    6.3.3
    ALTERDATABASEdatabase{ADDFILE[,...n][TOFILEGROUPfilegroup_name]|ADDLOGFILE[,...n]|REMOVEFILElogical_file_name
    |ADDFILEGROUPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILE|MODIFYFILEGROUPfile_group_namefilegroup_property}::=(NAME=logical_file_name[,FILENAME=‘os_file_name’][,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])例1:DROPDATABASETempCREATEDATABASETempON(NAME='Temp1_dat',FILENAME='c:\programfiles\microsoftsqlserver\mssql\data\temp1_dat.mdf',SIZE=5MB,MAXSIZE=15MB,FILEGROWTH=1)LOGON(NAME='Temp1_log',FILENAME='c:\programfiles\microsoftsqlserver\mssql\data\temp1_log.ldf',SIZE=5MB,MAXSIZE=15MB,FILEGROWTH=1)GOALTERDATABASETempADDFILE(
    NAME='Temp2_dat',FILENAME='c:\programfiles\microsoftsqlserver\mssql\data\temp2_dat.ndf',SIZE=5MB,MAXSIZE=15MB,FILEGROWTH=1)GOALTERDATABASETempADDLOGFILE(NAME='Temp2_log',FILENAME='c:\programfiles\microsoftsqlserver\mssql\data\temp2_log.ldf',SIZE=5MB,MAXSIZE=15MB,FILEGROWTH=1)GO例2:ALTERDATABASETempMODIFYFILE(NAME=Temp1_dat,SIZE=10,MAXSIZE=20,FILEGROWTH=2)例3:ALTERDATABASETempADDFILEGROUPTempFileGroupGOALTERDATABASETempADDFILE(NAME='Temp3_dat',FILENAME='c:\programfiles\microsoftsqlserver\mssql\data\temp3_dat.ndf',SIZE=3,
    MAXSIZE=10,FILEGROWTH=1),(NAME='Temp4_dat',FILENAME='c:\programfiles\microsoftsqlserver\mssql\data\temp4_dat.ndf',SIZE=3,MAXSIZE=10,FILEGROWTH=1)TOFILEGROUPTempFileGroupGOALTERDATABASETempREMOVEFILETemp2_logGO
    6.4.2
    例1:DROPDATABASE产品数据库,员工数据库
    7.2.1
    CREATETABLE语句创表的语法如下:CREATETABLE[database_name.[owner].|owner.]table_name({|column_nameAScomputed_column_expression|}[,...n])[ON{filegroup|DEFAULT}][TEXTIMAGE_ON{filegroup|DEFAULT}]
    ::={column_namedata_type}[[DEFAULTconstant_expression]
    |[IDENTITY[(seed,increment)]]][][...n]
    7.2.2
    CREATETABLEstudent(intNOTNULL,char(8))
    [CONSTRAINTconstraint_name]PRIMARYKEY[CLUSTERED|NONCLUSTERED][(字段名[,...n])]
    CREATETABLEproject(项目编号intCONSTRAINTPK_PnoPRIMARYKEY,项目名称varchar(40))
    CREATETABLEproject(项目编号intPRIMARYKEY,项目名称varchar(40))
    CREATETABLEproject(项目编号int,项目名称varchar(40),CONSTRAINTPK_Pno_PnamePRIMARYKEY(项目编号,项目名称))[CONSTRAINTconstraint_name]UNIQUE[CLUSTERED|NONCLUSTERED][(字段名[,...n])]CREATETABLEproject
    (项目编号intCONSTRAINTPK_PnoPRIMARYKEY,项目名称char(20)CONSTRAINTUN_PnameUNIQUE)
    CREATETABLEproject(项目编号intPRIMARYKEY,项目名称char(20)UNIQUE
    CREATETABLEproject(项目编号intCONSTRAINTPK_PnoPRIMARYKEY,项目名称char(20),项目负责人char(20),CONSTRAINTUN_Pname_PmUNIQUE(项目名称,项目负责人))[CONSTRAINTconstraint_name][FOREIGNKEY]REFERENCESref_table[(ref_column)][ONDELETE{CASCADE|NOACTION}][ONUPDATE{CASCADE|NOACTION}][NOTFORREPLICATION]--创建数据表employeesCREATETABLEemployees(员工编号intPRIMARYKEY,员工char(20)UNIQUE)GO--创建数据表projectCREATETABLEproject(项目编号intPRIMARYKEY,
    项目名称char(20),项目负责人char(20)FOREIGNKEYREFERENCEStemp9(员工)ONDELETECASCADE)GO
    CONSTRAINTconstraint_name]CHECK(logical_expression)CREATETABLEemployees(员工编号intNOTNULLPRIMARYKEY,员工char(20)UNIQUE,工资intNOTNULLCONSTRAINTCK_EsCHECK(工资>=1000AND工资<=20000))
    7.2.3
    CREATERULErule_nameAScondition_expression
    EXECsp_bindrule[@rulename=]‘rule_name’,[@objname=]‘object_name’CREATETABLEemployees(员工编号intNOTNULLPRIMARYKEY,员工char(20),工资intNOTNULL)CREATERULERU_salaryAS@salary>=1000AND@salary<=20000GOEXECsp_bindrule‘RU_salary’,‘employee.工资’GO
    7.2.4
    CREATEDEFAULTdefaultASconstant_expressionsp_bindefault[@defname=]‘default’,[@objname=]‘object_name’CREATEDEFAULTDE_salaryas1000GOEXECsp_bindefault‘DE_salary’,‘employee.工资’GO
    7.2.5
    ALTERTABLEtableALTERCOLUMNcolumn_namenew_data_type[(precision[,scale])][NULL|NOTNULL]--创建数据表projectCREATETABLEproject(项目编号intPRIMARYKEY,项目名称char(20)NOTNULL)--使用sp_help察看数据表的定义EXECsp_helpprojectGO--修改相应的字段定义ALTERTABLEprojectALTERCOLUMN项目名称varchar(25)NULL--再次察看数据表的定义EXECsp_helpprojectGOALTERTABLEtableADD{[column_definition]|
    [column_nameAScomputed_column_expression]}--向数据表中添加字段ALTERTABLEprojectADD项目负责人varchar(15),
    项目难度级别intDEFAULT1,预计工期AS项目难度级别*20--察看数据表定义EXECsp_helpprojectALTERTABLEtableDROPCOLUMNcolumn_name[,...n]ALTERTABLEprojectDROPCOLUMN项目负责人,预计工期ALTERTABLEtable[WITHCHECK|WITHNOCHECK]ADDCONSTRAINTconstraint_nameconstraint_definition[,...n]USEcompany--创建数据表employeeCREATETABLEemployee(员工编号intPRIMARYKEY,员工char(20)UNIQUE)GO--创建数据表projectCREATETABLEproject(项目编号intNOTNULL,项目负责人char(20),项目难度级别int)GO--向project数据表中添加约束ALTERTABLEprojectADDCONSTRAINTPK_PnoPRIMARYKEY(项目编号),CONSTRAINTFK_PmFOREIGNKEY(项目负责人)REFERENCESemployee(员工),CONSTRAINTCK_PlCHECK(项目难度级别>=1AND项目难度级别<=5)
    GOALTERTABLEtableDROPCONSTRAINTconstraint_name[,...n]ALTERTABLEprojectDROPCONSTRAINTFK_Pm,CK_Pl
    7.2.6
    DROPTABLEtable[,...n]DROPTABLEemployee,projectDROPTABLEcompany2.dbo.employee
    8.1.1
    SELECT语句的基本结构如下:SELECTselect_list[INTOnew_table_name]FROMtable_list[WHEREsearch_conditions][GROUPBYgroup_by_list][HAVINGsearch_conditions][ORDERBYorder_list[ASC|DESC]]
    8.1.2
    SELECT*FROMChenHong.TableX
    SELECT*FROMSample.员工数据表SELECTDISTINCT员工数据表.员工编号,项目数据表.项目名称FROM员工数据表JOIN项目数据表ON(员工数据表.员工编号=项目数据表.负责人)
    8.2.1
    USESampleSELECT所属部门
    FROM员工数据表
    USESampleSELECTDISTINCT所属部门FROM员工数据表
    8.3
    SELECT*FROMSAMPLE.员工数据表SELECT员工数据表.员工编号,项目数据表.项目名称FROM员工数据表JOIN项目数据表ON(员工数据表.员工编号=项目数据表.负责人)
    SELECTEMP.员工编号,EMP.员工,SP.部门名称FROM员工数据表ASEMP,(SELECT部门数据表.部门编号,部门数据表.部门名称FROM部门数据表WHERE部门数据表.部门编号>2)ASSPWHEREEMP.部门编号=SP.部门编号
    8.4.1
    SELECT员工FROMSample.员工数据表WHERE员工工资>2000SELECT员工FROMSAMPLE.员工数据表WHERE工资BETWEEN2000AND3000ORDERBY工资SELECT员工FROMSAMPLE.员工数据表WHERE工资>2000AND工资<3000ORDERBY工资
    SELECT员工FROMSAMPLE.员工数据表WHERE工资NOTBETWEEN2000AND3000ORDERBY工资SELECT员工FROMSAMPLE.员工数据表WHERE工资>3000OR工资<2000ORDERBY工资
    8.4.2
    SELECT员工,部门FROMSAMPLE.员工数据表WHERE部门IN(1,3)GROUPBY部门SELECT员工,部门FROMSAMPLE.员工数据表WHERE部门=1OR部门=3GROUPBY部门
    USESAMPLESELECT员工,部门FROM员工数据表WHERE员工编号IN(SELECT负责人FROM项目数据表WHERE结束日期<=‘January1,2002’)
    USESAMPLESELECT员工,部门FROM员工数据表WHERE员工编号NOTIN(SELECT负责人FROM项目数据表
    WHERE结束日期<=‘January1,2002’)
    8.4.3
    SELECT项目名称FROMSAMPLE.项目数据表WHERE项目名称LIKE‘SiS%’SELECT项目名称FROMSAMPLE.项目数据表WHERE项目名称NOTLIKE‘SiS%’
    WHEREColumn1LIKE‘%54/%%’ESCAPE‘/’
    WHEREColumn1LIKE‘%54[%]%’
    8.4.4
    USESAMPLESELECT项目名称FROM项目数据库WHERE项目名称LIKE‘SiS%’and项目名称ISNOTNULL
    USESAMPLESELECT项目名称FROM项目数据库WHERE项目名称IS(NOT)NULL
    8.4.5
    SELECT项目名称FROMSAMPLE.项目数据表WHERE项目名称LIKE‘SiS%’AND结束日期<=‘January1,2002’
    SELECT项目名称FROMSAMPLE.项目数据表WHERE项目名称LIKE‘SiS%’OR项目名称LIKE‘Pet%’SELECT项目名称FROMSAMPLE.项目数据表WHERE项目名称NOTLIKE‘SiS%’SELECT所属部门,AVG(工资)AS平均工资FROM员工数据库GROUPBY所属部门SELECT所属部门,性别,AVG(工资)AS平均工资FROM员工数据库GROUPBY所属部门,性别
    8.4.6
    SELECT所属部门,AVG(工资)AS平均工资FROM员工数据库GROUPBY所属部门HAVING平均工资>=2000
    8.4.7
    SELECT所属部门,AVG(工资)AS平均工资FROM员工数据库WHERE所属部门NOTLIKE‘办公室’GROUPBY所属部门SELECT所属部门,AVG(工资)AS平均工资FROM员工数据库WHERE所属部门NOTLIKE‘办公室’GROUPBYALL所属部门
    8.4.8
    SELECT所属部门,性别,AVG(工资)FROM员工数据表GROUPBY所属部门,性别WITHCUBE
    8.4.9
    SELECT所属部门,性别,AVG(工资)FROM员工数据表GROUPBY所属部门,性别WITHROLLUPSELECT所属部门,性别,AVG(工资)FROM员工数据表GROUPBY性别,所属部门WITHROLLUP
    8.5
    USESAMPLESELECT*FROM员工数据库ORDERBY工资
    USESAMPLESELECT*FROM员工数据库ORDERBY所属部门,工资DESC
    USESAMPLESELECT所属部门,AVG(工资)AS平均工资FROM员工数据库GROUPBY所属部门ORDERBY工资平均值
    USESAMPLESELECT员工,所属部门,工资
    FROM员工数据表COMPUTESUM(工资)USESAMPLESELECT员工,所属部门,工资FROM员工数据表ORDERBY所属部门COMPUTESUM(工资)BY所属部门
    8.7
    SELECT*FROMSAMPLE.员工数据表UNIONSELECT*FROMSAMPLEBEIJING.员工数据表ORDERBY工资
    8.8
    USESAMPLESELECTe.员工编号,e.员工FROM员工数据表ASe
    USESAMPLESELECT员工数据表.员工编号,e.员工,e.工资FROM员工数据表ASe
    8.9.1
    USESAMPLESELECT所属部门,SUM(工资)FROM员工数据表GROUPBY所属部门
    USESAMPLE
    SELECT所属部门,AVG(工资)FROM员工数据表GROUPBY所属部门
    8.9.2
    USESAMPLESELECT所属部门,MAX(工资)FROM员工数据表GROUPBY所属部门
    USESAMPLESELECT所属部门,MAX(员工)FROM员工数据表GROUPBY所属部门
    8.9.3
    USESAMPLESELECT所属部门,MIN(工资)FROM员工数据表GROUPBY所属部门
    USESAMPLESELECT所属部门,MIN(员工)FROM员工数据表GROUPBY所属部门
    8.9.4
    USESAMPLESELECTCOUNT(*)FROM项目数据库
    WHERE结束日期<=‘January1,2002’
    USESAMPLESELECTCOUNT(DISTINCT负责人)FROM项目数据库WHERE结束日期<=‘January1,2002’
    8.10.1
    SELECT*FROM员工数据表INNERJOIN项目数据表ON员工数据表.员工编号=项目数据表.负责人
    SELECT*FROM员工数据表LEFTJOIN项目数据表ON员工数据表.员工编号=项目数据表.负责人
    SELECT*FROM员工数据表RIGHTJOIN项目数据表ON员工数据表.员工编号=项目数据表.负责人
    USESAMPLESELECT*FROM员工数据表CROSSJOIN项目数据表
    8.10.2
    --使用WHERE分句进行内联接SELECT*FROM员工数据表,项目数据表WHERE员工数据表.员工编号=项目数据表.负责人--相当于:SELECT*FROM员工数据表INNERJOIN项目数据表ON员工数据表.员工编号=项目数据表.负责人
    --使用WHERE分句进行左向外联接SELECT*FROM员工数据表,项目数据表WHERE员工数据表.员工编号*=项目数据表.负责人--相当于:SELECT*FROM员工数据表LEFTJOIN项目数据表ON员工数据表.员工编号=项目数据表.负责人--使用WHERE分句进行右向外联接SELECT*FROM员工数据表,项目数据表WHERE员工数据表.员工编号=*项目数据表.负责人--相当于:SELECT*FROM员工数据表RIGHTJOIN项目数据表ON员工数据表.员工编号=项目数据表.负责人
    8.11.1
    USESAMPLESELECT员工FROM员工数据表WHERE员工编号IN(SELECTDISTINCT负责人FROM项目数据表WHERE结束日期<‘January1,2002’)
    USESAMPLESELECT员工FROM员工数据表WHERE员工编号NOTIN(SELECTDISTINCT负责人FROM项目数据表)
    8.11.2
    USESAMPLESELECT员工FROM员工数据表WHERE员工编号=(SELECTDISTINCT负责人FROM项目数据表WHERE项目名称=‘SiS’)
    USESAMPLESELECT项目名称FROM项目数据表WHERE项目收入>(SELECTAVG(工资)FROM员工数据表)
    8.11.3
    --所有正在负责项目的员工USESAMPLESELECT员工FROM员工数据表WHEREEXISTS(SELECT*FROM项目数据表WHERE员工数据表.员工编号=项目数据表.负责人)--所有没有负责项目的员工USESAMPLESELECT员工FROM员工数据表
    WHERENOTEXISTS(SELECT*FROM项目数据表WHERE员工数据表.员工编号=项目数据表.负责人)
    8.12.1
    INSERTINTO员工数据表(员工,性别,所属部门,工资)VALUES(‘王秋萍’,‘女’,‘项目部’,‘3000’)INSERTINTO员工数据表(员工,性别,所属部门,工资)SELECT*FROM临时员工数据表
    8.12.2
    USESAMPLEUPDATE员工数据表SET工资=3000WHERE所属部门=‘项目部’
    8.12.3
    USESAMPLEGO--删除来自SiS公司的所有项目DELETE项目数据表WHERE客户=1GO--删除SiS客户DELETE客户数据表WHERE客户编号=1GO
    --删除用于存储SiS公司临时信息的数据表DELETESiS_TEMPDROPTABLESiS_TEMP
    9.1.1
    USESAMPLEGO--将项目部的工资更新为3000UPDATE员工数据表SET工资=3,000WHERE所属部门=‘项目部’--检查是否出现限制检查冲突IF@@ERROR=547print“出现限制检查冲突,请检查需要更新的数据限制”
    USESAMPLEGO--将录入部员工的工资更新为3000UPDATE员工数据表SET工资=3000WHERE所属部门=‘录入部’--如果没有发生记录更新,则发出警告信息IF@@ROWCOUNT=0print‘警告:没有发生记录更新’
    SELECT@@VERSION
    9.1.2
    DECLARE@Temp_CounterINT
    SET@Temp_Count=0
    USESAMPLEGO--声明局部变量DECLARE@Max_SalaryINT--将其赋值为全体员工的工资最大值SELECT@Max_Salary=MAX(工资)FROM员工数据表GO
    9.2.1
    USESAMPLEGOSELECTCOL_LENGTH(‘员工数据表’,‘员工’)ASName_Col_Length,DATALENGTH(员工)ASName_Data_LengthFROM员工数据表
    9.2.2
    DECLARE@TodayDATETIMESET@Today=GETDATE()SELECTMONTH(@Today),DAY(@Today),YEAR(@Today)
    9.2.3
    USESAMPLESELECT员工+‘,’+员工性别+CHAR(13)+所属部门FROM员工数据表WHERE员工编号=1
    9.2.4
    USESAMPLESELECT所属部门,ROUND(AVG(工资))FROM员工数据表GROUPBY所属部门
    9.2.5
    CREATEFUNCTION函数名称(参数名称AS数据类型)RETURNS返回数据类型BEGIN函数内容RETURN表达式END
    --创建奖金计算函数CREATEFUNCTIONBonus(@SalaryASINT)RETURNSINTBEGIN--奖金数量为工资数量的30%RETURN(@Salary*0.3)END--输出员工和奖金数目SELECT员工,Bonus(工资)AS奖金FROM员工数据表
    9.3.1
    USESAMPLEGO--声明用于发布消息的变量DECLARE@MessageVARCHAR(200)--判断是否有员工在办公室工作IFEXIST(SELECT*FROM员工数据表WHERE所属部门=‘办公室’)--如果有,则列出BEGINSET@Message=“下列人员在办公室工作:”PRINT@MessageSELECT员工FROM员工数据表WHERE所属部门=‘办公室’END--否则,输出没有人在办公室工作的消息ELSEBEGINSET@Message=“没有人在办公室工作”PRINT@MessageENDGO
    9.3.2
    USESAMPLEGO--声明用于发布消息的变量DECLARE@MessageVARCHAR(200)--判断是否存在工资超过5000的员工IFEXIST(SELECT*FROM员工数据表WHERE工资>5000)--如果有,则列出BEGIN
    SET@Message=“下列人员在的工资超过5000:”PRINT@MessageSELECT员工,工资FROM员工数据表WHERE工资>5000END--否则,输出没有工资在5000元以上的员工ELSEBEGINSET@Message=“没有工资在5000元以上的员工”PRINT@MessageENDGO
    9.3.3
    WHILE逻辑表达式BEGIN…BREAK…ENDWHILE逻辑表达式BEGIN…CONTINUE…END
    USESAMPLEGO
    USESAMPLEGO--根据是否存在员工的奖金少于300而确定循环是否继续执行
    WHILEEXISTS(SELECT*FROM员工数据表WHERE工资*0.3<300)--循环开始BEGIN--将所有员工的工资加500UPDATE员工数据表SET工资=工资+500--如果有员工的工资超过了10000则跳出循环IF(SELECTMAX(工资)FROM员工数据表)>10000BREAKEND--循环结束
    9.3.4
    USESAMPLEGOSELECT,“部门说明”=--分别为各个部门添加说明CASE所属部门WHEN‘办公室’THEN‘在办公室工作,该部门主要负责办公室事务。’WHEN‘项目部’THEN‘在项目部工作,该部门主要负责项目事务。’WHEN‘录入部’THEN‘在录入部工作,该部门主要负责录入事务。’WHEN‘检验部’THEN‘在检验部工作,该部门主要负责检验事务。’ENDFROM员工数据表--按照排序ORDERBY
    9.3.6
    WAITFORDELAY时间间隔
    WAITFORTIME时间值
    USESAMPLEGO--指定在执行SELECT语句之前等待两秒WAITFORDELAY‘00:00:02’--执行查询SELECT,性别FROM员工数据表WHERE所属部门=‘项目部’
    9.3.7
    GOTO标签名称
    USESAMPLEGOIF(SELECTMAX(工资)FROM员工数据表)>10000GOTOdecrease_salary…decrease_salary:…
    9.4.1
    DECLARE游标名称CURSOR[LOCAL|GLOBAL][FORWARD_ONLY|SCROLL][READ_ONLY]FOR选择语句[FORUPDATE[OF字段名称1,字段名称2,…]]
    USESAMPLE
    GO--声明游标DECLAREPM_CursorCURSORFORSELECT*FROM员工数据表WHERE所属部门=‘项目部’ORDERBYFORREADONLY
    9.4.2
    OPEN游标名称
    USESAMPLEGO--声明项目负责人游标DECLAREPM_CursorCURSORFORSELECT*FROM员工数据表WHERE所属部门=‘项目部’ORDERBYFORREADONLY--打开项目负责人游标OPENPM_Cursor--读取结果集中的数据FETCHNEXTFROMPM_Cursor--根据@@FETCH_STATUS来确定是否继续读取数据WHILE@@FETCH_STATUS=0BEGINFETCHNEXTFROMPM_CursorEND
    9.4.3
    CLOSE游标名称
    DEALLOCATE游标名称
    CLOSEPM_CursorDEALLOCATEPM_Cursor
    9.5
    USESAMPLEGO--检索项目部的员工SELECT*FROM员工数据表WHERE所属部门=‘项目部’/*检索录入部的员工*/SELECT*FROM员工数据表WHERE所属部门=‘录入部’--检索工资高于2000的员工--并输出和工资SELECT,/*性别,*/工资FROM员工数据表WHERE工资>2000
    9.6
    --该批处理执行打开数据库USEpubsGO/*批处理结束标志*/--该批处理检索项目部员工SELECT*FROM员工数据表
    WHERE所属部门=‘项目部’AND工资>2000ORDERBYGO--该批处理创建视图CREATEVIEWPM_ViewASSELECT*FROM员工数据表WHERE所属部门=‘项目部’GO--该批处理使用视图检索数据SELECT*FROMPM_ViewGO
    10.3.1
    CREATEVIEWview_name[(column[,...n])][WITHENCRYPTION]ASselect_statement[WITHCHECKOPTION]USEcompanyGO--创建视图CREATEVIEW项目信息视图ASSELECTa.项目名称,b.客户名称,c.,a.开始日期,a.预计工期FROMprojectASaINNERJOINcustomerASbONa.客户编号=b.客户编号INNERJOINemployeeAScONa.负责人编号=c.编号WHEREa.客户编号=b.客户编号ANDa.负责人编号=c.编号GO--察看视图定义
    EXECsp_helptext‘项目信息视图’
    USEcompanyGO--创建视图CREATEVIEW项目信息视图(项目名称,项目合作客户,项目负责人,项目开始日期,项目预计工期)ASSELECTa.项目名称,b.客户名称,c,a.开始日期,a.预计工期FROMprojectASaINNERJOINcustomerASbONa.客户编号=b.客户编号INNERJOINemployeeAScONa.负责人编号=c.编号WHEREa.客户编号=b.客户编号ANDa.负责人编号=c.编号GO--察看视图信息EXECsp_helptext‘项目信息视图’
    EXECsp_helptext项目信息视图
    USEcompanyGO--创建视图CREATEVIEW项目信息视图(项目名称,项目合作客户,项目负责人,项目开始日期,项目预计工期)WITHENCRYPTIONASSELECTa.项目名称,b.客户名称,c.,a.开始日期,a.预计工期FROMprojectASaINNERJOINcustomerASbONa.客户编号=b.客户编号INNERJOINemployeeAScONa.负责人编号=c.编号WHEREa.客户编号=b.客户编号ANDa.负责人编号=c.编号GO
    CREATEVIEW男员工资料视图ASSELECT*FROMemployeeWHERE性别=‘男’
    INSERTINTO男员工资料视图(编号,,性别,工资)VALUES(16,‘汪玉霞’,‘女’,‘2500’)
    CREATEVIEW男员工资料视图ASSELECT*FROMemployeeWHERE性别=‘男’WITHCHECKOPTION
    10.3.2
    ALTERVIEWview_name[(column[,...n])][WITHENCRYPTION]ASselect_statement[WITHCHECKOPTION]
    USEcompanyGO--创建视图CREATEVIEW男员工工资视图WITHENCRYPTIONASSELECT*FROMemployeeWHERE性别=‘男’/*加密*/
    --察看视图定义EXECsp_helptext‘男员工工资视图’GO--修改视图定义ALTERVIEW男员工工资视图(男员工,员工工资)/*定义别名*/ASSELECT员工,工资FROMemployeeWHERE性别=‘男’WITHCHECKOPTIONGO--再次察看视图定义EXECsp_helptext‘男员工工资视图’/*添加WITHCHECKOPTION*//*由于视图定义加密,此处无法看到视图定义*/
    10.3.3
    DROPVIEWview_name[,...n]USEcompanyGO--删除视图DROPVIEW男员工工资视图GO
    10.4.1
    USEcompanyGO--检索项目的预计工期小于60天的记录SELECT*FROM项目信息视图WHERE项目预计工期<60GO
    10.4.2
    USEcompany
    GO--创建查询CREATEVIEW项目信息视图(项目名称,项目合作客户,项目负责人,项目开始日期,项目预计工期)ASSELECTa.项目名称,b.客户名称,c.,a.开始日期,a.预计工期FROMprojectASaINNERJOINcustomerASbONa.客户编号=b.客户编号INNERJOINemployeeAScONa.负责人编号=c.工编号WHEREa.客户编号=b.客户编号ANDa.负责人编号=c.编号GO--插入记录INSERTINTO项目信息视图(项目名称,项目开始日期,项目预计工期)VALUES(‘LYS’,‘2000-10-01’,‘90’)GOINSERTINTO项目信息视图(项目合作客户)VALUES(‘RealSimCo.’)GOINSERTINTO项目信息视图(项目负责人)VALUES(‘陈小玉’)GO
    10.4.3
    USEcompanyGO--更新数据UPDATE项目信息视图SET项目预计工期=120WHERE项目名称=‘市场调查’GOUPDATE项目信息视图
    SET项目负责人=‘刘飞飞’WHERE项目负责人='刘菲菲'GO
    10.4.4
    DELETEview_nameWHEREsearch_condition
    11.3.1
    USEcompanyGOCREATETABLEproduct_temp(产品IDint,产品名称char(20)UNIQUECLUSTERED)GOEXECsp_helpindexproduct_temp
    USEcompanyGOCREATETABLEproduct_temp(产品IDintprimarykey,产品名称char(20))GOEXECsp_helpindexproduct_temp
    11.3.4
    CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_nameONtable(column[,...n])[WITH[PAD_INDEX][,FILLFACTOR=fillfactor][,IGNORE_DUP_KEY][,DROP_EXISTING][,STATISTICS_NORECOMPUTE]][ONfilegroup]
    USEcompanyGOCREATETABLEemployee_temp(员工IDintNOTNULL,姓char(10),名char(10),工资int)
    CREATEUNIQUECLUSTEREDINDEXIX_EidONemployee_temp(员工ID)CREATEUNIQUEINDEXIX_ElnamefnameWITHPAD_INDEX,FILLFACTOR=80,IGNORE_DUP_KEYONemployee_temp(姓,名)EXECsp_helpindexemployee_temp
    11.4.2
    USEcompanyGODROPINDEXemployee_temp.IX_Eid,employee_temp.IX_Elnamefname
    12.3.1
    CREATETRIGGERtrigger_nameONtable|view[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}ASsql_statement[...n]
    USEcompanyGO--创建触发器CREATETRIGGER触发器_欢迎新员工ONemployeeAFTERINSERTASPRINT'新员工加入本公司,欢迎欢迎!'GO--创建新触发器CREATETRIGGER触发器_员工走了ONemployeeAFTERDELETEASPRINT'真遗憾看你离开公司!'GOSETNOCOUNTON--插入一条记录试试触发器操作INSERTINTOemployee(员工ID,,性别,工资)VALUES(20068,‘陶方’,‘男’,1000)--删除一条记录试试DELETEFROMemployeeWHERE员工ID=‘20067’GO/*关闭影响行数信息*//*指定表*//*指定触发操作*//*指定表*//*指定触发操作*/
    12.3.2
    EXECsp_helptrigger‘table’[,‘type’]EXECsp_helptrigger‘employee’EXECsp_helptext‘trigger_name’EXECsp_helptext‘触发器_欢迎新员工’EXECsp_help‘trigger_name’EXECsp_help‘触发器_员工走了’
    12.3.3
    ALTERTRIGGERtrigger_nameONtable|view[WITHENCRYPTION]{FOR|AFTER|INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}ASsql_statement[...n]
    EXECsp_rename‘触发器_欢迎新员工’,‘Welcom_Trigger’
    12.3.4
    DROPTRIGGERtrigger_name[,...n]DROPTRIGGER触发器_员工走了,Welcome_Trigger
    12.4.1
    --创建触发器CREATETRIGGERtrigger_salaryONpmanagerAFTERINSERTASIF(SELECT工资FROMinserted)>5000BEGINPRINT‘新员工工资不能超过5000’/*报错*//*使用inserted表判断新插入的数据*/
    ROLLBACKENDGOSETNOCOUNTON--插入一条记录INSERTINTOpmanager(负责人ID,,性别,工资)values(‘XXF001’,‘谢小芳’,‘女’,6000)
    /*回滚插入操作*/
    INSERTINTOpmanager(负责人ID,,性别,工资)SELECTID,NAME,SEX,SALARYFROMpmanager_tempGO
    12.4.2
    CREATETRIGGERtrigger_salary_changeONpmanagerAFTERUPDATEASIFUPDATE(工资)BEGINIF(SELECTMAX(ABS(inserted.工资-deleted.工资))FROMinsertedJOINdeletedONinserted.负责人ID=deleted.负责人ID)>2000BEGINPRINT'工资变动不能超过2000'ROLLBACKTRANSACTIONENDENDELSEPRINT‘工资没有变!’
    UPDATEpmanagerSET工资=8000WHERE负责人ID=‘LIS035’
    UPDATEpmanagerSET=‘丽莎’WHERE负责人ID=‘LIS035’
    12.4.3
    CREATETRIGGERtrigger_delete_customerONcustomerAFTERDELETEASIF(SELECTMAX(项目标的)FROMprojectASpJOINdeletedASdONp.合作客户ID=d.客户ID)>=50000BEGINPRINT'不能删除大客户!'ROLLBACKTRANSACTIONEND
    12.4.4
    USEcompanyGOCREATETRIGGERTrigger_IOInsertONpmanagerINSTEADOFINSERTASSETNOCOUNTONUPDATEpmanagerSETpmanager.=inserted.,pmanager.性别=inserted.性别,pmanager.工资=inserted.工资FROMpmanagerJOINinsertedONpmanager.负责人ID=inserted.负责人ID
    PRINT'在原来记录的基础上更改了'+CAST(@@ROWCOUNTASVARCHAR)+'条记录'
    INSERTpmanagerSELECT*FROMinsertedWHEREinserted.负责人IDNOTIN(SELECT负责人IDFROMpmanager)PRINT'插入了'+CAST(@@ROWCOUNTASVARCHAR)+'条新记录'GO
    INSERTpmanagerSELECT*FROMpmanager_temp
    CREATEVIEWLfname_View(,工资)ASSELECT姓+‘’+名AS,工资FROMemployee_temp
    CREATETRIGGERInsertByView_TriggerONLfname_ViewINSTEADOFINSERTASINSERTemployee_temp(姓,名,工资)SELECTLEFT(,CHARINDEX(‘’,)-1),RIGHT(,LEN()-CHARINDEX(‘’,)),工资FROMinsertedGOINSERTLfname_view(,工资)values(‘马大哈’,5000)
    13.3.1
    CREATEPROC[EDURE]procedure_name[;number][{@parameterdata_type}[VARYING][=default][OUTPUT]
    ][,...n][WITH{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}][FORREPLICATION]ASsql_statement[...n]
    USEcompany--如果存在同名的存储过程,先删除之IFEXISTS(SELECTNAMEFROMsysobjectsWHEREname='Pinfo50000'ANDtype='P')DROPPROCEDUREPinfo50000GO--新建存储过程CREATEPROCEDUREPinfo50000ASSELECT*FROMprojectWHERE项目标的>=50000ORDERBY项目标的DESCGO--执行存储过程EXECPinfo50000GO
    13.3.2
    [EXEC[UTE]]{[@return_status=]procedure_name[;number]}[[@parameter=]{value|@variable[OUTPUT]|[DEFAULT]}][,...n][WITHRECOMPILE]USEcompany--如果在数据库中已经存在存储过程GetAvgPbiaodi,先将其删除。IFEXISTS(SELECTnameFROMsysobjectsWHEREname='GetAvgPbiaodi'ANDtype='P')DROPPROCEDUREGetAvgPbiaodiGO
    --创建存储过程GetAvgPbiaodi--输入参数@name用于传递项目负责人的--输出参数@avgpbiaodi用于接受项目的平均标的
    CREATEPROCEDUREGetAvgPbiaodi@namevarchar(10),@avgpbiaodiintOUTPUTAS--声明和初始化一个变量,用于保存返回值DECLARE@ErrorSaveINTSET@ErrorSave=0SELECT@avgpbiaodi=AVG(项目标的)FROMprojectaspINNERJOINpmanageraspmONp.负责人ID=pm.负责人IDWHEREpm.=@nameIF(@@ERROR<>0)SET@ErrorSave=@@ERRORRETURN@ErrorSaveGO
    --声明变量,用于保存返回值和输出参数DECLARE@returnvalueINT,@avgINTEXEC@returnvalue=GetAvgPbiaodi'马中新',@avgOUTPUT
    PRINT'执行的结果:'--CAST函数用转换数据类型PRINT'返回值='+CAST(@returnvalueasCHAR(2))PRINT'李中新负责项目的平均标的为:'+CAST(@avgasCHAR(10))GO
    CREATETABLEImportantProject(项目编号INT,项目名称CHAR(20),项目标的INT,合作客户IDCHAR(10),负责人IDCHAR(10)
    )INSERTINTOImportantProjectEXECPinfo50000GOSELECT*FROMImportantProject
    13.3.3
    EXECsp_helptextGetAvgPbiaodiEXECsp_dependsGetAvgPbiaodiEXECsp_helpGetAvgPbiaodi
    13.4.4
    EXECsp_rename存储过程原名存储过程新名execsp_renameGetAvgPbiaodi,'项目平均标的过程'使用ALTERPROCEDURETransact-SQL语句修改存储过程。语法如下:ALTERPROCEDUREprocedure_name[;number][{@parameterdata_type}[VARYING][=default][OUTPUT]][,...n][WITH{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}][FORREPLICATION]ASsql_statement[...n]
    ALTERPROCEDUREPinfo50000ASSELECT项目名称,项目标的FROMprojectWHERE项目标的>=50000ORDERBY项目标的DESCGO--执行存储过程EXECPinfo50000GO
    13.3.5
    DROPPROCEDURE{procedure}[,...n]DROPPROCEDUREPinfo50000
    14.2.1
    EXECsp_addsrvrolemember‘Adam’,‘serveradmin’EXECsp_srvrolepermissionserveradminEXECsp_dropsrvrolemember‘Adam’,‘serveradmin’14.2.2EXECsp_helpdbfixedroleUSEcompanyEXECsp_addrolemember‘db_ddladmin’,‘HEADQUATERS\Adam’EXECsp_droprolemember‘db_ddladmin’,‘HEADQUATERS\Adam’
    14.2.3
    sp_addrole'role'[,'owner']USEcompanyGOEXECsp_addrole‘customers’
    14.3.1
    CREATEDATABASECREATETABLECREATEVIEWCREATERULECREATEPROCEDURECREATEFUNCTIONCREATEDEFAULTBACKUPDATABASEBACKUPLOG
    13.3.2
    GRANTSELECTONemployeeTOAdam,salesmanager,[HEADQUARTERS\mims]GRANTSELECTONemployeeTOsalesmanagerWITHGRANTOPTION
    DENYDELETETOAdam
    USEcompanyEXECsp_helprotect'employee'
    14.3.3
    GRANTCREATETABLETOAdam,salesmanager,[HEADQUARTERS\mims]DENYCREATEVIEWTOAdamREVOKEALLFROMAdam
    15.1.1
    BACKUPDATABASEaccountingTOAccounting_Backup
    BACKUPDATABASEaccountingTODISK='C:\Backups\Accounting\Full.Bak'sp_addumpdevice‘设备类型’,‘设备逻辑名’,‘设备的物理名称’
    EXECsp_addumpdevice‘disk’,‘company_back’,‘d:\Data_backup\company_back.bak’
    sp_dropdevice‘设备的逻辑名称’,‘delfile’
    EXECsp_dropdevice‘company_back’
    EXECsp_dropdevice‘company_back’,‘DELFILE’
    15.2.3
    BACKUPDATABASEcompanyTODISK=‘D\SQLBackup\company.bak’BACKUPDATABASEcompanyTOcompany_backupWITHDIFFERENTIAL
    BACKUPLOGcompanyTOcompany_log_backup
    BACKUPLOGcompanyTOcompany_log_backupWITHNO_TRUNCATE
    BACKUPDATABASEcompanyFILEGROUP=‘PRIMARY’TOcompany_filegroupbackup_primary
    15.3.2
    RESTOREDATABASE数据库名[FROM备份设备名[,...n]][WITH[[,]{NONRECOVERY|RECOVERY}][[,]REPLACE]]RESTORELOG数据库名[FROM备份设备名[,...n]][WITH[[,]{NONRECOVERY|RECOVERY}][[,]STOPAT=date_time]]RESTOREDATABASE数据库名{FILE=逻辑文件名|FILEGROUP=逻辑文件组名}[FROM备份设备名[,...n]][WITH[[,]{NONRECOVERY|RECOVERY}][[,]REPLACE]]
    RESTOREDATABASEcompanyFROMDISK=‘D:\SQLBackup\company.bak’
    RESTOREDATABASEcompanyFROMcompany_backupWITHNONRECOVERY
    RESTORELOGcompanyFROMcompany_logbackup1WITHNONRECOVERY
    RESTORELOGcompanyFROMcompany_logbackupWITHRECOVERY,STOPAT=‘Oct5,19996:00:05PM’
    RESTOREDATABASEcompanyFILE=‘company_data_1’,FILE=‘company_data_2’,FILEGROUP=‘Employees_FG’FROMcompany_backupWITHNORECOVERYRESTORELOGMyNwindFROMcompany_logbackup1
    17.2.2
    <%‘在此插入VBScript%>
    DimiasIntegerDimmyTextasString
    DimiDimmyText
    DimMyConn
    SetMyConn=Server.Createobject(“ADODB.Connection”)
    MyConn.ConnectionString=“driver={SQLServer};”&;“Server=Sample;_uid=Adam”&;”;pwd=APassword;database=company”
    MyConn.open
    17.2.3
    CREATETRIGGERTrigger_InsertPositionConONPositionConAFTERINSERTASBEGIN/*声明一个变量以存储同一类别中的职位总数*/DECLARE@CountItemsASINTEGER/*将特定类别的职位总数放置到变量中以备后用*/SELECT@CountItems=COUNT(所属类别ID)FROMPositionConWHEREPositionCon.所属类别ID=(SELECT所属类别IDFROMinserted)/*更新positionCat中的字段*/UPDATEPositionCatSET包含职位总数=@CountItemsWHERE类别ID=(SELECT所属类别IDFROMinserted)END
    CREATETRIGGERTrigger_DeletePositionConONPositionConAFTERDELETEASBEGINDECLARE@CountItemsASINTEGERSELECT@CountItems=COUNT(所属类别ID)FROMPositionCon
    WHEREPositionCon.所属类别ID=(SELECT所属类别IDFROMdeleted)
    UPDATEPositionCatSET包含职位总数=@CountItemsWHERE类别ID=(SELECT所属类别IDFROMdeleted)END
    CREATEPROCEDUREProcedure_PositionCatListASDECLARE@ResultTextVARCHAR(5000),@PositionCatIDINTEGER,--存放格式化以后的结果HTML文本--存放类别ID--存放类别名
    @PositionCatNameVARCHAR(50),@PositionCatItemsINTEGER--声明游标DECLARECurPositionCatCURSOR
    --存放类别中的职位总数
    FORSELECT*FROMPositionCatORDERBY类别名--打开游标OPENCurPositionCat--返回第一条记录并将各个字段存入变量FETCHCurPositionCatINTO@PositionCatID,@PositionCatName,@PositionCatItemsSELECT@ResultText=''WHILE@@FETCH_STATUS=0
    BEGINSELECT@ResultText=@ResultText+''+@PositionCatName+'('+@PositionCatItems+')
'--返回下以条记录FETCHCurPositionCatINTO@PositionCatID,@PositionCatName,
    @PositionCatItemsEND--关闭游标CLOSECurPositionDEALLOCATECurPosition--返回HTML文本SELECT@ResultTextASResultTextGO(2)存储过程Procedure_PositionConListCREATEPROCEDUREProcedure_PositionConList@PositionCatIDINTEGERASDECLARE@ResultTextVARCHAR(5000),@PositionCatNameVARCHAR(50),@PositionIDINT,@PositionNameVARCHAR(50),@PositionDescriptionVARCHAR(5000),@CompanyVARCHAR(50),@TelephoneVARCHAR(20)WHERE类别ID=@PositionCatID--声明游标DECLARECurPositionConCURSORFORSELECT职位名称,职位描述,公司,联系电话FROMPositionConWHERE所属类别ID=@PositionCatIDORDERBY职位名称OPENCurPositionCon---取出第一条记录FETCHCurPositionConINTO@PositionName,@PositionDescription,@Company,@Telephone--为变量赋初值SELECT@ResultText=''WHILE@@FETCH_STATUS=0BEGIN--输出HTML文本SELECT@ResultText=@ResultText--打开游标--存储最终的HTML文本--存储职务类别名--存储职务ID--存储职位名称--存储职务描述--存储公司名称--存储联系电话--包含输入参数,传递类别ID
    SELECT@PositionCatName=类别名FROMPositionCat
    +'

'+@PositionName+''+'
'+@PositionDescription+'
'+@Company+'
'+@Telephone+'

'FETCHCurPositionConINTO@PositionName,@PositionDescription,@Company,@TelephoneEND--关闭游标CLOSECurPositionConDEALLOCATECurPositionConSELECT@ResultTextASResultText,@PositionCatNameASPositionCatNameGO(1)ASP文件index.asp<%OptionExplicitDimMyConnDimPositionCatsetMyConn=Server.Createobject("ADODB.Connection")MyConn.ConnectionString="driver={SQLServer};"_&;"server=SAMPLE;uid=sa"_&;";pwd=;database=DB_Asp"MyConn.OpenSetPositionCat=MyConn.Execute("ExecProcedure_PositionCatList")%>
    张氏文案公司招聘代理


请选择工作领域:


    <%Response.WritePositionCat("ResultText")%>(2)ASP文件PositionCon.asp
    <%OptionExplicitDimMyConnDimPositionConIfIsEmpty(Request.QueryString("CategoryID"))ThenResponse.Redirect"index.asp"EndIfsetMyConn=Server.Createobject("ADODB.Connection")MyConn.ConnectionString="driver={SQLServer};"_&;"server=Sample;uid=sa"_&;";pwd=;database=db_asp"MyConn.OpenSetPositionCon=MyConn.Execute("ExecProcedure_PositionConList"_&;Request.QueryString("CategoryID"))%>
    张氏文案公司招聘代理


<%Response.WritePositionCon("PositionCatName")%>
<%Response.WritePositionCon("ResultText")%>

    

  • 上一篇资讯: sqlserver2005(1)
  • 下一篇资讯: SQLserver2000挂起
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师