Today, we will mainly talk about some of the knowledge points that we must understand when using the IBM DB2 database, as well as the actual operation steps for maintaining the DB2 database in the future. There is a lot of knowledge to learn. This article will provide you with several knowledge points that must be understood. I believe this will be used in future work.
Knowledge points that must be learned when using the IBM DB2 database:
1. after installing the DB2 database, you can operate it through the command line or graphical interface. If your database server is not on the local machine, you need to configure a client connection in "client configuration helper.
2. the control center cannot add, delete, modify, or modify data. You can only write SQL statements to achieve this. Although the tools provided by quest can add data, they cannot use the copy, paste, and Tab keys. They must be input one by one, you can edit and modify the existing data by clicking the mouse, but the data cannot be commit, A non-write delete statement is not allowed.
However, you can use pb to edit data in cells. One drawback is that the button for editing data is too close to the button for deleting a table. If the button for deleting a table is incorrect, pb, but the table is deleted without prompting, faint
3. The order by statement cannot be directly used in the DB2 view. It must be written as follows:
- select × from(select a,b,c from table1 order by a)as tab
Note: the premise of this writing method is that you have already installed patches.
4. Stored Procedure problems:
DB2 provides ltrim and rtrim functions, but trim functions are not provided. If you want to remove spaces at both ends of the characters, sorry, you must use ltrim (rtrim ()) you cannot use the expression to assign values to the insert statement. You must first assign the value to a variable and call other stored procedures without using constants as parameters, you must assign the value of this constant to a variable, and then use this variable as the parameter.
Select * from table fetch first n rows only statement is not available in the Stored Procedure
5. dynamic SQL can be used in stored procedures, but IBM DB2 and kao cannot be used in functions.
6. When a commit or rollback occurs, the cursor is automatically closed. Therefore, you must use it with caution.
Proc builder always has insufficient memory during debugging and the screen is spent. However, if the pause does not take effect for a long time during breakpoint debugging, the system will prompt a timeout error.
7. Development Issues:
When using the IBM DB2 date variable + 1 months or date variable-1 MONTHS to retrieve a date, for example, when the date variable value is, in the stored procedure, assign the date variable + 1 MONTHS to another
An error occurs when the date variable is used. The corresponding SQLSTATE is 01506 (db2? 01506): the DATE or TIMESTAMP value is adjusted to correct the invalid DATE obtained by arithmetic operations.
If you want to obtain only the next month, the alternative method is to get the first day of the month of the current date as the benchmark + 1 months or-1 MONTHS
8. You cannot assign values to variables using select ...... Into ...... Use set v = (select ......) Method,
An example is as follows:
- drop function SXFM.ISORDERSUBMITDATE;
- CREATE FUNCTION SXFM.ISORDERSUBMITDATE(IN_ROW_ID DECIMAL(16,0))
- RETURNS DATE
- LANGUAGE SQL
- BEGIN ATOMIC DECLARE V_SUBMIT_DATE DATE;
- DECLARE V_SELL_ID DECIMAL(16, 0);
- DECLARE V_BUY_ID
- DECIMAL(16, 0);
- set V_SELL_ID = (SELECT COALESCE(RECEIVE_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);
- set V_BUY_ID = (SELECT COALESCE(PAY_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);
- set V_SUBMIT_DATE = (SELECT DATE(MAX(A.SUBMIT_DATE)) FROM AM_AUDIT_QUEUE A,SM_US
- ER B,SM_USER C
- WHERE A.TABLE_CODE=’IS_ORDER’
- AND A.TABLE_ROW_ID=IN_ROW_ID
- AND A.AUDIT_EMP_ID=C.ROW_ID AND C.BRANCH_ID=V_BUY_ID
Reviewer: Payer
- AND A.SUBMIT_EMP_ID=B.ROW_ID AND B.BRANCH_ID=V_SELL_ID);
The submitter is the payee.
- RETURN V_SUBMIT_DATE;
- END;
- #SYNC 10;
The above content is an introduction to several knowledge points that IBM DB2 must understand.