`/* List all DB2 tables with more than 1000 rows`
`using the prepped package SAMPLE1 */`

`arg db user password`

`/* Connect the database; exit at error */`
`r = REXXSQL("CONNECT" user "IDENTIFIED BY" password "TO" db)`
`if SQLCODE < 0 then exit 8`

`/* Check if package SAMPLE1 exists, create it if not */`
`if 0 <> REXXSQL("LOCATE PACKAGE SAMPLE1") then call Create_Package`

`/* Execute the prepped statement "get_rowcount" */`
`r = REXXSQL("EXECUTE GET_ROWCOUNT IN SAMPLE1 USING '%' 1000")`
`if SQLCODE <> 0 then exit sqlcode`

`/* Show results */`
`do i = 1 to _NROWS`
`tablename = strip(creator.i)"."strip(tname.i)`
`say "Table" tablename "has" rowcount.i "rows"`
`end`
`r = REXXSQL("COMMIT")`
`exit`

`/* Create the package SAMPLE1 */`
`Create_Package:`
`r = REXXSQL("CREATE PACKAGE SAMPLE1")`
`if SQLCODE <> 0 then /* process error */`
`s = "SELECT CREATOR,TNAME,ROWCOUNT FROM SYSTEM.SYSCATALOG" ,`
`"WHERE TNAME LIKE :VARCHAR AND ROWCOUNT >= :INTEGER" ,`
`"ORDER BY ROWCOUNT DESC"`
`r = REXXSQL("PREPARE GET_ROWCOUNT FROM" s)`
`if SQLCODE <> 0 then /* process error */`
`r = REXXSQL("COMMIT")`
`return`