Home Database Mysql Tutorial Getting Started with SQL Server 7.0 (8)

Getting Started with SQL Server 7.0 (8)

Dec 24, 2016 pm 05:41 PM
server sql

Returning results in stored procedures
There are three ways to return results from stored procedures:
1. Returning result sets
This is the most common method for client applications to return results. The result set is generated by selecting data using the SELECT statement. Result sets can be generated from permanent tables, temporary tables, or local variables. Returning results to another stored procedure is not an efficient approach. A stored procedure cannot access a result set created by another stored procedure.
For example, return a result set from a permanent table:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromPermtable
AS
SELECT au_iname FROM authors
GO
For example, create a result set from a local variable:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromVariable
AS
DECLARE @au_iname char(20)
SELECT @au_iname = au_iname FROM authors
WHERE au_id = '172-32-1176'
SELECT @ au_id
GO
2. Set the value of OUTPUT parameter
Output parameters are often used to retrieve results from stored procedures. If a parameter is defined as OUTPUT when transferred to a stored procedure, any modifications to the parameter will remain in effect after exiting the storage.
For example:
USE pubs
GO
CREATE PROCEDURE ap_SetOutputVar @count integer OUTPUT
AS
SELECT @count = count(*) FROM authors
GO
Retrieve the value from the output parameter:
USE pubs
GO
CREATE PROCEDURE ap_GetOutputVar
AS
DECLARE @num integer
EXECUTE ap_SetOutputVar @num OUTPUT
PRINT “the count is”+convert(char,@num)
GO
· Use cursors as OUTPUT parameters. Cursors can use OUTPUT (output) parameters, but cannot be used as input parameters. In other words, the cursor can be returned as a result, but it cannot be transferred to the procedure. When a cursor is used as a parameter, it needs to be qualified as OUTPUT and VARYING. The VARYING keyword indicates that the result set is to be used to support output parameters. This provides the ability to return a result set to the calling procedure.
For example:
USE pubs
GO
CREATE PROCEDURE GetTitleCount @count_cursor CURSOR VARYING OUTPUT
AS
SET @count_cursor = CURSOR
FOR
SELECT au_id,count(*)
FROM titleauthors
GROUP BY au_id
OPEN @count_cursor
GO
3. Return status through RETURN parameter
This is a method of returning error codes from stored procedures. Stored procedures always return a status value, and users can also use the RETURN statement to return their own status.
For example:
USE pubs
GO
CREATE PROCEDURE ap_SetReturnStatus
AS
DECLARE @count integer
SELECT @count = count(*) FROM authors
IF @count = 0
RETURN (1)
ELSE
RETURN (0)
GO
For example, retrieve the returned status:
USE pubs
GO
CREATE PROCEDURE ap_GetReturnStatus
AS
DECLARE @status integer
EXECUTE @status = ap_SetReturnStatus
IF @status = 1
PRINT “No rows found”
ELSE
PRINT “successful”
GO

Error handling in stored procedures
Like any other program, error handling in stored procedures is very important. System change @@error will get a value after executing each Transact SQL statement. For successful execution, the value of @@error is 0. If an error occurs, @@error will contain error information. The @@error system variable is very important for error handling of stored procedures.
Note: In order to prevent errors, the value that can be set by @@error is reflected in the "error" of the sysmessages table.
There are two types of errors in stored procedures:
1. Database-related errors
These errors are caused by inconsistencies in the database. The system uses non-0 @@error values ​​to represent specific databases. question. After Transact SQL is executed, the error that occurred can be obtained through @@error. If @@error is found to be non-zero, the necessary action must be taken, and in most cases the store will return without further processing. The following example shows a typical method of getting database errors. This procedure places the error code into an output variable so that it can be accessed by the calling program.
USE pubs
GO
CREATE PROCEDURE ap_TrapDatabaseError @return_code integer OUTPUT
AS
UPDATE authors SET au_iname = “Jackson”
WHERE au_iname = “Smith”
IF @@error <> 0
BEGIN
SELECT @return_code = @@error
RETURN
END
ELSE
@return_code = 0
GO
2, Business logic error
These errors are caused by business rule violations. To get these errors, you first need to define business rules. Based on these rules, you need to add the necessary error detection code to the stored procedure. People often use the RAISERROR statement to report these errors. RAISERROR provides the ability to return user-defined errors and set the @@error variable to a user-defined error number. Error messages can be created dynamically or retrieved from the "sysmessages" table based on the error number. Once an error occurs, the error is returned to the client in the form of a server error message. The following is the syntax of the RAISERROR command:
RAISERROR (msg_id | msg_str, severity, state
[, argument ][,...n]])
[WITH options]
Msg_id specifies the id of the user-defined message, which is stored in "sysmessages" in system tables.
Msg_str is the message string used to dynamically create messages. This is very similar to "printf" in C language.
Severity defines the severity of the error message assigned by the user.
State is any integer value from 1 to 127, which represents incorrect call status information. Negative state values ​​will default to 1.
OPTIONS indicates incorrect customization options. The valid values ​​of OPTIONS are as follows:
1) LOG.
Log errors to the server error log and NT event log. This option requires messages with a severity from 19 to 25. Only system administrators can issue such messages.
2) NOWAIT.
Send messages to client server immediately.
3) SETERROR.
Set the value of @@error to msg_id or 5000 regardless of its severity level.

Remote Procedure Call
    SQL Server provides the ability to call stored procedures that reside on different servers. Calling such a stored procedure is called a remote stored procedure call. In order for calls to be transferred from one SQL Server to another, the two servers should be defined as effective remote servers for each other.
                                                                                                                                                using – being being extended the group of a certain server, etc.
         · Right-click on the server and click "Properties".
        · Set the option "Allow other SQL Servers to connect remotely to this SQL server via RPC".
         · Set the value of the "Query time out" option, which specifies the number of seconds to wait for a return from a query processing. The default value is 0, which means unlimited waiting time is allowed.
       · After setting the configuration options, click "OK".
· The changes will take effect after restarting the server.
· Repeat the same steps on the other remote server.
              To call a remote stored procedure, you need to specify the name of the server, followed by the name of the database and the name of the owner. Below is an example of calling a stored procedure on a different server (Server2).
Exec server2.pubs.dbo.myproc

Doudou’s remarks:
This is only a superficial introduction to common knowledge of SQL Server. It is also intended for programmers who write applications based on SQL Server databases, not database managers. But for application programmers, understanding database management is also very useful. It is recommended that you learn about database management by yourself in the future, which is also very useful for optimizing programs.

The above is the content of Getting Started with SQL Server 7.0 (8). For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


——————Full text ends————————



Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the difference between HQL and SQL in Hibernate framework? What is the difference between HQL and SQL in Hibernate framework? Apr 17, 2024 pm 02:57 PM

HQL and SQL are compared in the Hibernate framework: HQL (1. Object-oriented syntax, 2. Database-independent queries, 3. Type safety), while SQL directly operates the database (1. Database-independent standards, 2. Complex executable queries and data manipulation).

Usage of division operation in Oracle SQL Usage of division operation in Oracle SQL Mar 10, 2024 pm 03:06 PM

"Usage of Division Operation in OracleSQL" In OracleSQL, division operation is one of the common mathematical operations. During data query and processing, division operations can help us calculate the ratio between fields or derive the logical relationship between specific values. This article will introduce the usage of division operation in OracleSQL and provide specific code examples. 1. Two ways of division operations in OracleSQL In OracleSQL, division operations can be performed in two different ways.

What does the identity attribute in SQL mean? What does the identity attribute in SQL mean? Feb 19, 2024 am 11:24 AM

What is Identity in SQL? Specific code examples are needed. In SQL, Identity is a special data type used to generate auto-incrementing numbers. It is often used to uniquely identify each row of data in a table. The Identity column is often used in conjunction with the primary key column to ensure that each record has a unique identifier. This article will detail how to use Identity and some practical code examples. The basic way to use Identity is to use Identit when creating a table.

Comparison and differences of SQL syntax between Oracle and DB2 Comparison and differences of SQL syntax between Oracle and DB2 Mar 11, 2024 pm 12:09 PM

Oracle and DB2 are two commonly used relational database management systems, each of which has its own unique SQL syntax and characteristics. This article will compare and differ between the SQL syntax of Oracle and DB2, and provide specific code examples. Database connection In Oracle, use the following statement to connect to the database: CONNECTusername/password@database. In DB2, the statement to connect to the database is as follows: CONNECTTOdataba

Detailed explanation of the Set tag function in MyBatis dynamic SQL tags Detailed explanation of the Set tag function in MyBatis dynamic SQL tags Feb 26, 2024 pm 07:48 PM

Interpretation of MyBatis dynamic SQL tags: Detailed explanation of Set tag usage MyBatis is an excellent persistence layer framework. It provides a wealth of dynamic SQL tags and can flexibly construct database operation statements. Among them, the Set tag is used to generate the SET clause in the UPDATE statement, which is very commonly used in update operations. This article will explain in detail the usage of the Set tag in MyBatis and demonstrate its functionality through specific code examples. What is Set tag Set tag is used in MyBati

How does Java use the MySQL driver interceptor to implement SQL time-consuming calculations? How does Java use the MySQL driver interceptor to implement SQL time-consuming calculations? May 27, 2023 pm 01:10 PM

Background: One of the company's needs is that the company's existing link tracking log component must support MySQL's SQL execution time printing. The common method to implement link tracking is to implement the interceptor interface or filter interface provided by a third-party framework or tool. MySQL is no exception. In fact, it just implements the interceptor interface driven by MySQL. There are different versions of MySQL channels, and the interceptor interfaces of different versions are different, so you need to implement the response interceptor according to the different versions of MySQL drivers you use. Next, we will introduce MySQL channels 5 and 6 respectively. 8 version implementation. MySQL5 is implemented here using MySQL channel 5.1.18 version as an example to implement Statem

How to solve the 5120 error in SQL How to solve the 5120 error in SQL Mar 06, 2024 pm 04:33 PM

Solution: 1. Check whether the logged-in user has sufficient permissions to access or operate the database, and ensure that the user has the correct permissions; 2. Check whether the account of the SQL Server service has permission to access the specified file or folder, and ensure that the account Have sufficient permissions to read and write the file or folder; 3. Check whether the specified database file has been opened or locked by other processes, try to close or release the file, and rerun the query; 4. Try as administrator Run Management Studio as etc.

How to install, uninstall, and reset Windows server backup How to install, uninstall, and reset Windows server backup Mar 06, 2024 am 10:37 AM

WindowsServerBackup is a function that comes with the WindowsServer operating system, designed to help users protect important data and system configurations, and provide complete backup and recovery solutions for small, medium and enterprise-level enterprises. Only users running Server2022 and higher can use this feature. In this article, we will explain how to install, uninstall or reset WindowsServerBackup. How to Reset Windows Server Backup If you are experiencing problems with your server backup, the backup is taking too long, or you are unable to access stored files, then you may consider resetting your Windows Server backup settings. To reset Windows

See all articles