本文共 2637 字,大约阅读时间需要 8 分钟。
?Transact-SQL?????????????????????T-SQL?????????????????????????????
CREATE [OR ALTER] {PROC | PROCEDURE} [schema_name.] procedure_name [ ; number ] [ { @parameter [type_schema_name. ] data_type } [VARYING] [ = default ] [OUT | OUTPUT | [READONLY]] ] [ ,...n ] [ WITH [ ,...n ] ][ FOR REPLICATION ] AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] }[;] ::= [ ENCRYPTION ] [ RECOMPILE ] [ EXECUTE AS Clause ] DROP PROCEDURE????????????CURSOR?????CREATE PROC ProGetAuthorsASSELECT * FROM authorsGOEXEC ProGetAuthors
EXEC [execute_permission] [@return_status =] (procedure_name [; number] @procedure_name_var, ..., [WITH RECOMPILE]) [@parameter =] {value | @variable [OUTPUT] | [DEFAULT]} ,... CREATE PROC procGetAvgMaxMin @course_name char (20)ASSELECT AVG(exam) AS ???, MAX(exam) AS ???, MIN(exam) AS ???FROM score AS sINNER JOIN course AS c ON s.cno = c.cnoWHERE c.cname = @course_nameGOEXEC procGetAvgMaxMin '????'
CREATE PROC procGetAvgMaxMin @course_name char (20) = NULLASIF @course_name IS NULL PRINT '???????'ELSE SELECT AVG(exam) AS ???, MAX(exam) AS ???, MIN(exam) AS ??? FROM score AS s INNER JOIN course AS c ON s.cno = c.cno WHERE c.cname = @course_nameGOEXEC procGetAvgMaxMin '????'
CREATE PROC proc2 @x int, @Y int OUTPUTASDECLARE @i int, @t intSELECT @i = l, @t = lwhile @i < @x begin select @t = @t * @i select @i = @i + 1 endselect @Y = @tGOEXEC proc2 5
CREATE PROC proc3 @course_name char (20)ASDECLARE @avg_score intSELECT AVG(exam) AS ???, MAX(exam) AS ???, MIN(exam) AS ??? FROM score AS s INNER JOIN course AS c ON s.cno = c.cno WHERE c.cname = @course_nameSELECT @avg_score = AVG(exam) FROM score AS s INNER JOIN course AS c ON s.cno = c.cno WHERE c.cname = @course_nameSELECT sno, sname, depart, exam, usually FROM stu_info AS st INNER JOIN score AS s ON st.sno = s.sno INNER JOIN course AS c ON s.cno = c.cno WHERE c.cname = @course_name AND s.exam > @avg_scoreGOEXEC proc3 '????'
转载地址:http://cxgn.baihongyu.com/